home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / T2WIN910.ZIP / TIME2WIN.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1997-01-16  |  292.2 KB  |  7,380 lines

  1. VERSION 2.00
  2. Begin Form frmT2W 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Time To WIN (Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   1395
  7.    ClientTop       =   720
  8.    ClientWidth     =   9105
  9.    Height          =   8460
  10.    Icon            =   TIME2WIN.FRX:0000
  11.    Left            =   1365
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   8115
  14.    ScaleWidth      =   9105
  15.    Tag             =   "TIME2WIN"
  16.    Top             =   405
  17.    Width           =   9165
  18.    Begin PictureBox Picture1 
  19.       AutoSize        =   -1  'True
  20.       BorderStyle     =   0  'None
  21.       Height          =   480
  22.       Left            =   8520
  23.       Picture         =   TIME2WIN.FRX:0302
  24.       ScaleHeight     =   480
  25.       ScaleWidth      =   480
  26.       TabIndex        =   10
  27.       Top             =   180
  28.       Visible         =   0   'False
  29.       Width           =   480
  30.    End
  31.    Begin ComboBox Combo2 
  32.       Height          =   300
  33.       Left            =   6570
  34.       TabIndex        =   2
  35.       Top             =   450
  36.       Width           =   1185
  37.    End
  38.    Begin TextBox Text1 
  39.       Height          =   285
  40.       Left            =   3150
  41.       TabIndex        =   8
  42.       Text            =   "Text1"
  43.       Top             =   7740
  44.       Width           =   5865
  45.    End
  46.    Begin Frame Frame1 
  47.       BackColor       =   &H00C0C0C0&
  48.       Height          =   1455
  49.       Left            =   90
  50.       TabIndex        =   6
  51.       Top             =   6210
  52.       Visible         =   0   'False
  53.       Width           =   8925
  54.       Begin ListBox List2 
  55.          Height          =   1200
  56.          Left            =   4590
  57.          TabIndex        =   5
  58.          Top             =   180
  59.          Width           =   4155
  60.       End
  61.       Begin ListBox List1 
  62.          Height          =   1200
  63.          Left            =   180
  64.          TabIndex        =   4
  65.          Top             =   180
  66.          Width           =   4155
  67.       End
  68.    End
  69.    Begin CommandButton Command1 
  70.       Caption         =   "&Start demo for the selected item"
  71.       Height          =   285
  72.       Left            =   90
  73.       TabIndex        =   0
  74.       Top             =   450
  75.       Width           =   4065
  76.    End
  77.    Begin ComboBox Combo1 
  78.       Height          =   300
  79.       Left            =   90
  80.       TabIndex        =   9
  81.       Top             =   90
  82.       Width           =   7665
  83.    End
  84.    Begin Label Label2 
  85.       BackStyle       =   0  'Transparent
  86.       Caption         =   "&Text for string manipulation"
  87.       Height          =   195
  88.       Left            =   90
  89.       TabIndex        =   7
  90.       Top             =   7785
  91.       Width           =   2985
  92.    End
  93.    Begin Label Label1 
  94.       BackStyle       =   0  'Transparent
  95.       Caption         =   "&Iterations for speed test"
  96.       Height          =   195
  97.       Left            =   4320
  98.       TabIndex        =   1
  99.       Top             =   510
  100.       Width           =   2175
  101.    End
  102.    Begin Label Label3 
  103.       BackStyle       =   0  'Transparent
  104.       BorderStyle     =   1  'Fixed Single
  105.       Height          =   5340
  106.       Left            =   90
  107.       TabIndex        =   3
  108.       Top             =   810
  109.       Width           =   8925
  110.       WordWrap        =   -1  'True
  111.    End
  112. Option Explicit
  113. Option Base 1
  114. Dim Item       As Integer
  115. Dim ItemFile   As Integer
  116. Dim ItemMean   As Integer
  117. Const RandI = 32767
  118. Const RandL = 2147483647
  119. Const RandS = 1E+10!
  120. Const RandD = 1E+16
  121. Dim Tmp  As String
  122. Sub Combo2_Click ()
  123.    Item = Val(Combo2.Text)
  124.    ItemFile = Val(Combo2.Text)
  125.    ItemMean = Val(Combo2.Text)
  126. End Sub
  127. Sub Command1_Click ()
  128.    Static Flag    As Integer
  129.    If (Flag = True) Then Exit Sub
  130.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  131.    cDisableFI Picture1
  132.    Flag = True
  133.    MousePointer = 11
  134.    Frame1.Visible = False
  135.    List1.Clear
  136.    List2.Clear
  137.    List1.FontBold = True
  138.    List2.FontBold = True
  139.    Label3.Caption = ""
  140.    DoEvents
  141.    Select Case Combo1.ListIndex
  142.       Case 0
  143.      Frame1.Visible = True
  144.      Call TestAddI
  145.       Case 1
  146.      Frame1.Visible = True
  147.      Call TestDeviationI
  148.       Case 2
  149.      Frame1.Visible = True
  150.      Call TestFillI
  151.       Case 3
  152.      Frame1.Visible = True
  153.      Call TestMaxI
  154.       Case 4
  155.      Frame1.Visible = True
  156.      Call TestMeanI
  157.       Case 5
  158.      Frame1.Visible = True
  159.      Call TestMinI
  160.       Case 6
  161.      Frame1.Visible = True
  162.      Call TestSetI
  163.       Case 7
  164.      Frame1.Visible = True
  165.      Call TestSumI
  166.       Case 8
  167.      Frame1.Visible = True
  168.      Call TestSortI
  169.       Case 9
  170.      Frame1.Visible = True
  171.      Call TestReverseSortI
  172.       Case 10
  173.      Call TestAddTime
  174.       Case 11
  175.      Call TestTimeBetween
  176.       Case 12
  177.      Call TestCheckTime
  178.       Case 13
  179.      Call TestHourTo
  180.       Case 14
  181.      Call TestWindowsIni
  182.       Case 15
  183.      Call TestWinINI1
  184.       Case 16
  185.      Call TestWinINI2
  186.       Case 17
  187.      Call TestWinINI3
  188.       Case 18
  189.      Call TestAllSubDir
  190.       Case 19
  191.      Call TestGetDriveCurrentDir
  192.       Case 20
  193.      Call TestGetDefaultCurrentDir
  194.       Case 21
  195.      Call TestChDir
  196.       Case 22
  197.      Call TestCountFiles
  198.       Case 23
  199.      Call TestCountDirectories
  200.       Case 24
  201.      Call TestKillFiles
  202.       Case 25
  203.      Call TestGetFullnameInEnv
  204.       Case 26
  205.      Call TestGetDiskSpace
  206.       Case 27
  207.      Call TestGetDiskUsed
  208.       Case 28
  209.      Call TestGetDiskFree
  210.       Case 29
  211.      Call TestKillDir
  212.       Case 30
  213.      Call TestRenameFile
  214.       Case 31
  215.      Call TestFileResetAllAttrib
  216.       Case 32
  217.      Call TestFileSetAllAttrib
  218.       Case 33
  219.      Call TestIsFileX
  220.       Case 34
  221.      Call TestSubDirectory
  222.       Case 35
  223.      Call TestUniqueFileName
  224.       Case 36
  225.      Call TestIsX
  226.       Case 37
  227.      Call TestOneCharFromLeft
  228.       Case 38
  229.      Call TestOneCharFromRight
  230.       Case 39
  231.      Call TestBlockCharFromLeft
  232.       Case 40
  233.      Call TestBlockCharFromRight
  234.       Case 41
  235.      Call TestCompact
  236.       Case 42
  237.      Call TestUncompact
  238.       Case 43
  239.      Call TestInsertChars
  240.       Case 44
  241.      Call TestRemoveBlockChar
  242.       Case 45
  243.      Call TestRemoveOneChar
  244.       Case 46
  245.      Call TestCompressTab
  246.       Case 47
  247.      Call TestExpandTab
  248.       Case 48
  249.      Call TestGiveBitPalindrome
  250.       Case 49
  251.      Call TestIsBitPalindrome
  252.       Case 50
  253.      Call TestInsertBlocksBy
  254.       Case 51
  255.      Call TestInsertBlocks
  256.       Case 52
  257.      Call TestResizeStringAndFill
  258.       Case 53
  259.      Call TestResizeString
  260.       Case 54
  261.      Call TestFilterBlocks
  262.       Case 55
  263.      Call TestFilterChars
  264.       Case 56
  265.      Call TestCheckChars
  266.       Case 57
  267.      Call TestChangeChars
  268.       Case 58
  269.      Call TestChangeCharsUntil
  270.       Case 59
  271.      Call TestReverse
  272.       Case 60
  273.      Call TestGetIn
  274.       Case 61
  275.      Call TestGetBlock
  276.       Case 62
  277.      Call TestCreateAndFill
  278.       Case 63
  279.      Call TestStringCRC32
  280.       Case 64
  281.      Call TestCompress
  282.       Case 65
  283.      Call TestEncrypt
  284.       Case 66
  285.      Call TestDecrypt
  286.       Case 67
  287.      Call TestFileCRC32
  288.       Case 68
  289.      Call TestLrc
  290.       Case 69
  291.      Call TestIsPalindrome
  292.       Case 70
  293.      Call TestCheckNumericity
  294.       Case 71
  295.      Call TestFill
  296.       Case 72
  297.      Call TestSetAllBits
  298.       Case 73
  299.      Call TestSetBit
  300.       Case 74
  301.      Call TestGetBit
  302.       Case 75
  303.      Call TestFindBitSet
  304.       Case 76
  305.      Call TestFindBitReset
  306.       Case 77
  307.      Call TestToggleBit
  308.       Case 78
  309.      Call TestToggleAllBits
  310.       Case 79
  311.      Call TestReverseAllBits
  312.       Case 80
  313.      Call TestReverseAllBitsByChar
  314.       Case 81
  315.      Call TestCreateBits
  316.       Case 82
  317.      Call TestAtoR
  318.       Case 83
  319.      Call TestRtoA
  320.       Case 84
  321.      Call TestCustomControls
  322.       Case 85
  323.      Call TestSwap
  324.       Case 86
  325.      Call TestMin
  326.       Case 87
  327.      Call TestMenuChange
  328.       Case 88
  329.      Call TestFilesSize
  330.       Case 89
  331.      Call TestClusterSize
  332.       Case 90
  333.      Call TestAscTime
  334.       Case 91
  335.      Call TestLanguage
  336.       Case 92
  337.      Call TestReadLanguage
  338.       Case 93
  339.      Call TestFileCmp
  340.       Case 94
  341.      Call TestFileCopy
  342.       Case 95
  343.      Call TestFileFilter
  344.       Case 96
  345.      Call TestFileFilterNot
  346.       Case 97
  347.      Call TestFileEncrypt
  348.       Case 98
  349.      Call TestFileCompressTab
  350.       Case 99
  351.      Call TestSplitPath
  352.       Case 100
  353.      Call TestFullPath
  354.       Case 101
  355.      Call TestMakePath
  356.       Case 102
  357.      Call TestMsgBox
  358.       Case 103
  359.      Call TestInpBox
  360.       Case 104
  361.      Call TestMixChars
  362.       Case 105
  363.      Call TestFileVersionInfo
  364.       Case 106
  365.      Call TestFileVersion
  366.       Case 107
  367.      Call TestFileLineCount
  368.       Case 108
  369.      Call TestFileToX
  370.       Case 109
  371.      Call TestBig
  372.       Case 110
  373.      Call TestBigNum
  374.       Case 111
  375.      Call TestSysMenuChange(LNG_FRENCH)
  376.       Case 112
  377.      Call TestSysMenuChange(LNG_DUTCH)
  378.       Case 113
  379.      Call TestSysMenuChange(LNG_GERMAN)
  380.       Case 114
  381.      Call TestSysMenuChange(LNG_ENGLISH)
  382.       Case 115
  383.      Call TestSysMenuChange(LNG_ITALIAN)
  384.       Case 116
  385.      Call TestSysMenuChange(LNG_SPANISH)
  386.       Case 117
  387.      Call TestFileMerge
  388.       Case 118
  389.      Call TestFileSR
  390.       Case 119
  391.      Call TestFileS
  392.       Case 120
  393.      Call TestPatternMatch
  394.       Case 121
  395.      Call TestPatternExtMatch
  396.       Case 122
  397.      Call TestMorse
  398.       Case 123
  399.      Call TestDriveType
  400.       Case 124
  401.      Call TestBaseConversion
  402.       Case 125
  403.      Call TestFileStatictics
  404.       Case 126
  405.      Call TestDAStr(True)
  406.       Case 127
  407.      Call TestDAL(True)
  408.       Case 128
  409.      Call TestDAType(True)
  410.       Case 129
  411.      Call TestDAStr(False)
  412.       Case 130
  413.      Call TestDAL(False)
  414.       Case 131
  415.      Call TestDAType(False)
  416.       Case 132
  417.      Call TestDAStr(1)
  418.       Case 133
  419.      Call TestDAL(1)
  420.       Case 134
  421.      Call TestDAType(1)
  422.       Case 135
  423.      Call TestDAStr(2)
  424.       Case 136
  425.      Call TestDAL(2)
  426.       Case 137
  427.      Call TestDAType(2)
  428.       Case 138
  429.      Call TestDAStr(3)
  430.       Case 139
  431.      Call TestDAL(3)
  432.       Case 140
  433.      Call TestDAType(3)
  434.       Case 141
  435.      Call TestDAStr(4)
  436.       Case 142
  437.      Call TestDAL(4)
  438.       Case 143
  439.      Call TestDAType(4)
  440.       Case 144
  441.      Call TestDAStr(5)
  442.       Case 145
  443.      Call TestDAL(5)
  444.       Case 146
  445.      Call TestDAType(5)
  446.       Case 147
  447.      Call TestDAStr(6)
  448.       Case 148
  449.      Call TestDAL(6)
  450.       Case 149
  451.      Call TestDAType(6)
  452.       Case 150
  453.      Call TestCloseAllEditForm
  454.       Case 151
  455.      Call TestHideAllEditForm
  456.       Case 152
  457.      Call TestHideDebugForm
  458.       Case 153
  459.      Call TestOrToken
  460.       Case 154
  461.      Call TestAndToken
  462.       Case 155
  463.      Call TestWalkThruWindow
  464.       Case 156
  465.      Call TestSerial
  466.       Case 157
  467.      Call TestTimer
  468.       Case 158
  469.      Call TestAlign
  470.       Case 159
  471.      Call TestToken
  472.       Case 160
  473.      Call TestArrayOnDisk
  474.       Case 161
  475.      Call TestArrayStringOnDisk
  476.       Case 162
  477.      Call TestCnvAE
  478.       Case 163
  479.      Call TestCombination
  480.       Case 164
  481.      Frame1.Visible = True
  482.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  483.       Case 165
  484.      Frame1.Visible = True
  485.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  486.       Case 166
  487.      Frame1.Visible = True
  488.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  489.       Case 167
  490.      Frame1.Visible = True
  491.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  492.       Case 168
  493.      Frame1.Visible = True
  494.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  495.       Case 169
  496.      Frame1.Visible = True
  497.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  498.       Case 170
  499.      Frame1.Visible = True
  500.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  501.       Case 171
  502.      Frame1.Visible = True
  503.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  504.       Case 172
  505.      Call TestRegistrationKey
  506.       Case 173
  507.      Call TestMD5
  508.       Case 174
  509.      Call TestProperName
  510.       Case 175
  511.      Call TestMatrixAdd
  512.       Case 176
  513.      Call TestMatrixSub
  514.       Case 177
  515.      Call TestMatrixCopy
  516.       Case 178
  517.      Call TestMatrixMul
  518.       Case 179
  519.      Call TestMatrixTranspose
  520.       Case 180
  521.      Call TestMatrixCompare
  522.       Case 181
  523.      Call Test2D
  524.       Case 182
  525.      Call Test3D
  526.       Case 183
  527.      Call TestProperName2
  528.       Case 184
  529.      Call TestDOSMediaID
  530.       Case 185
  531.      Call TestFileCompress
  532.       Case 186
  533.      Call TestStringCompress
  534.       Case 187
  535.      Frame1.Visible = True
  536.      Call TestFillIncrI
  537.       Case 188
  538.      Call TestMatrixDet
  539.       Case 189
  540.      Call TestMatrixInv
  541.       Case 190
  542.      Call TestMatrixMinCo
  543.       Case 191
  544.      Call TestMatrixSymToeplitz
  545.       Case 192
  546.      Call TestFloppyInfo
  547.       Case 193
  548.      Call TestDOSGetVolLabel
  549.       Case 194
  550.      Call TestAddTwoTimes
  551.       Case 195
  552.      Call TestMDA(True)
  553.       Case 196
  554.      Call TestMDA(False)
  555.       Case 197
  556.      Call TestMDA(1)
  557.       Case 198
  558.      Call TestMDA(2)
  559.       Case 199
  560.      Call TestMDA(3)
  561.       Case 200
  562.      Call TestMDA(4)
  563.       Case 201
  564.      Call TestMDA(5)
  565.       Case 202
  566.      Call TestMDA(6)
  567.       Case 203
  568.      Call TestDate
  569.       Case 204
  570.      Call TestVersion
  571.       Case 205
  572.      Call TestGetInR
  573.       Case 206
  574.      Call TestBigString01
  575.       Case 207
  576.      Call TestHMAStr(True)
  577.       Case 208
  578.      Call TestHMAL(True)
  579.       Case 209
  580.      Call TestHMAType(True)
  581.       Case 210
  582.      Call TestHMAStr(1)
  583.       Case 211
  584.      Call TestHMAL(1)
  585.       Case 212
  586.      Call TestHMAType(1)
  587.       Case 213
  588.      Call TestHMAStr(2)
  589.       Case 214
  590.      Call TestHMAL(2)
  591.       Case 215
  592.      Call TestHMAType(2)
  593.       Case 216
  594.      Call TestHMAStr(3)
  595.       Case 217
  596.      Call TestHMAL(3)
  597.       Case 218
  598.      Call TestHMAType(3)
  599.       Case 219
  600.      Call TestHMAStr(4)
  601.       Case 220
  602.      Call TestHMAL(4)
  603.       Case 221
  604.      Call TestHMAType(4)
  605.       Case 222
  606.      Call TestHMAStr(5)
  607.       Case 223
  608.      Call TestHMAL(5)
  609.       Case 224
  610.      Call TestHMAType(5)
  611.       Case 225
  612.      Call TestHMAStr(6)
  613.       Case 226
  614.      Call TestHMAL(6)
  615.       Case 227
  616.      Call TestHMAType(6)
  617.       Case 228
  618.      Frame1.Visible = True
  619.      Call TestArrayLB
  620.       Case 229
  621.      Call TestTime
  622.       Case 230
  623.      Call TestControl3D
  624.       Case 231
  625.      Call TestFileChangeChars
  626.       Case 232
  627.      Call TestFilesInfoInDir
  628.       Case 233
  629.      Call TestRcsCountFileDir
  630.       Case 234
  631.      Frame1.Visible = True
  632.      Call TestFilesInDirOnDisk
  633.       Case 235
  634.      Frame1.Visible = True
  635.      Call TestFilesInDirToArray
  636.       Case 236
  637.      Call TestRcsFilesSize
  638.       Case 237
  639.      Call TestMnuLanguage
  640.       Case 238
  641.      Call TestSpellMoney
  642.       Case 239
  643.      Call TestFraction
  644.       Case 240
  645.      Call TestRndX
  646.       Case 241
  647.      Call TestStringSAR
  648.       Case 242
  649.      Call TestTruncatePath
  650.       Case 243
  651.      Call TestSysMenuChange(LNG_CATALAN)
  652.      Call TestLanguage
  653.      SendKeys "% "
  654.       Case 244
  655.      Call TestSysMenuChange(LNG_POLISH)
  656.      Call TestLanguage
  657.      SendKeys "% "
  658.       Case 245
  659.      Frame1.Visible = True
  660.      Call TestCountI
  661.       Case 246
  662.      Frame1.Visible = True
  663.      Call TestSearchI
  664.       Case 247
  665.      Call TestFileUUCP
  666.       Case 248
  667.      Call TestGZIP
  668.       Case 249
  669.      Call TestGZIPStringCompress
  670.       Case 250
  671.      Call TestKillDirs
  672.       Case 251
  673.      Call TestRUBYencrypt(RUBY_MODE_MINIMUM)
  674.       Case 252
  675.      Call TestRUBYencryptFile(RUBY_MODE_MINIMUM)
  676.       Case 253
  677.      Call TestRUBYencrypt(RUBY_MODE_PORTABLE_SAFE)
  678.       Case 254
  679.      Call TestRUBYencryptFile(RUBY_MODE_PORTABLE_SAFE)
  680.       Case 255
  681.      Call TestRUBYencrypt(RUBY_MODE_FORT_KNOX)
  682.       Case 256
  683.      Call TestRUBYencryptFile(RUBY_MODE_FORT_KNOX)
  684.       Case 257
  685.      Call TestSysMenuChange(LNG_NORVEGIAN)
  686.      Call TestLanguage
  687.      SendKeys "% "
  688.       Case 258
  689.      Call TestGetBitValue
  690.       Case 259
  691.      Call TestSetBitValue
  692.       Case 260
  693.      Call TestB2I
  694.       Case 261
  695.      Call TestToHexa
  696.       Case 262
  697.      Call TestToZ9
  698.       Case 263
  699.      Call TestCutFile
  700.       Case 264
  701.      Call TestSplitFile
  702.       Case 265
  703.      Frame1.Visible = True
  704.      Call TestMaxNotXI
  705.       Case 266
  706.      Frame1.Visible = True
  707.      Call TestMinNotXI
  708.       Case 267
  709.      Call TestFileMergeExt
  710.    End Select
  711.    MousePointer = 0
  712.    Flag = False
  713.    cEnableFI Picture1
  714. End Sub
  715. Sub CreateFile ()
  716.    Dim j       As Integer
  717.    j = cFileResetAllAttrib("TEST.DAT")
  718.    Close #1
  719.    Open "TEST.DAT" For Output As #1
  720.    Print #1, "This is a file test for time2win.dll"
  721.    Print #1, "This is a file test for time2win.dll"
  722.    Print #1, "This is a file test for time2win.dll"
  723.    Print #1, "This is a file test for time2win.dll"
  724.    Print #1, "This is a file test for time2win.dll"
  725.    Print #1, "This is a file test for time2win.dll"
  726.    Print #1, "This is a file test for time2win.dll"
  727.    Close #1
  728.    j = cFileResetAllAttrib("TEST.DAT")
  729. End Sub
  730. Sub DefCnv ()
  731.    Dim i       As Integer
  732.    Dim j       As Integer
  733.    Dim Tmp     As String
  734.    Close #1
  735.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  736.    Close #2
  737.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  738.    i = 0
  739.    While Not EOF(1)
  740.       Line Input #1, Tmp
  741.       i = i + 1
  742.       Tmp = cCompress(Tmp)
  743.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  744.       Print #2, Tab(60); "@" & i
  745.    Wend
  746.    Close #1
  747.    Close #2
  748. End Sub
  749. Sub Form_DblClick ()
  750.    'Call FileProcessTest
  751. End Sub
  752. Sub Form_Load ()
  753.    Combo2.AddItem "1"
  754.    Combo2.AddItem "5"
  755.    Combo2.AddItem "10"
  756.    Combo2.AddItem "50"
  757.    Combo2.AddItem "100"
  758.    Combo2.AddItem "500"
  759.    Combo2.AddItem "1000"
  760.    Combo2.AddItem "5000"
  761.    Combo1.AddItem "Array routines : Add"
  762.    Combo1.AddItem "Array routines : Deviation"
  763.    Combo1.AddItem "Array routines : Fill"
  764.    Combo1.AddItem "Array routines : Max"
  765.    Combo1.AddItem "Array routines : Mean"
  766.    Combo1.AddItem "Array routines : Min"
  767.    Combo1.AddItem "Array routines : Set"
  768.    Combo1.AddItem "Array routines : Sum"
  769.    Combo1.AddItem "Array routines : Sort"
  770.    Combo1.AddItem "Array routines : ReverseSort"
  771.    Combo1.AddItem "Time routines : AddTime"
  772.    Combo1.AddItem "Time routines : TimeBetween"
  773.    Combo1.AddItem "Time routines : CheckTime"
  774.    Combo1.AddItem "Time routines : HourTo"
  775.    Combo1.AddItem "WIN.INI routines : some separators"
  776.    Combo1.AddItem "WIN.INI routines : devices"
  777.    Combo1.AddItem "WIN.INI routines : printerports"
  778.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  779.    Combo1.AddItem "Files routines : AllSubDirectories"
  780.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  781.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  782.    Combo1.AddItem "Files routines : ChDir"
  783.    Combo1.AddItem "Files routines : CountFiles"
  784.    Combo1.AddItem "Files routines : CountDirectories"
  785.    Combo1.AddItem "Files routines : KillFiles"
  786.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  787.    Combo1.AddItem "Files routines : GetDiskSpace"
  788.    Combo1.AddItem "Files routines : GetDiskUsed"
  789.    Combo1.AddItem "Files routines : GetDiskFree"
  790.    Combo1.AddItem "Files routines : KillDir"
  791.    Combo1.AddItem "Files routines : RenameFile"
  792.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  793.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  794.    Combo1.AddItem "Files routines : IsFileX"
  795.    Combo1.AddItem "Files routines : SubDirectory"
  796.    Combo1.AddItem "Files routines : UniqueFileName"
  797.    Combo1.AddItem "String routines : IsX"
  798.    Combo1.AddItem "String routines : OneCharFromLeft"
  799.    Combo1.AddItem "String routines : OneCharFromRight"
  800.    Combo1.AddItem "String routines : BlockCharFromLeft"
  801.    Combo1.AddItem "String routines : BlockCharFromRight"
  802.    Combo1.AddItem "String routines : Compact"
  803.    Combo1.AddItem "String routines : Uncompact"
  804.    Combo1.AddItem "String routines : InsertChars"
  805.    Combo1.AddItem "String routines : RemoveBlockChar"
  806.    Combo1.AddItem "String routines : RemoveOneChar"
  807.    Combo1.AddItem "String routines : CompressTab"
  808.    Combo1.AddItem "String routines : ExpandTab"
  809.    Combo1.AddItem "String routines : GiveBitPalindrome"
  810.    Combo1.AddItem "String routines : IsBitPalindrome"
  811.    Combo1.AddItem "String routines : InsertBlocksBy"
  812.    Combo1.AddItem "String routines : InsertBlocks"
  813.    Combo1.AddItem "String routines : ResizeStringAndFill"
  814.    Combo1.AddItem "String routines : ResizeString"
  815.    Combo1.AddItem "String routines : FilterBlocks"
  816.    Combo1.AddItem "String routines : FilterChars"
  817.    Combo1.AddItem "String routines : CheckChars"
  818.    Combo1.AddItem "String routines : ChangeChars"
  819.    Combo1.AddItem "String routines : ChangeCharsUntil"
  820.    Combo1.AddItem "String routines : Reverse"
  821.    Combo1.AddItem "String routines : GetIn"
  822.    Combo1.AddItem "String routines : GetBlock"
  823.    Combo1.AddItem "String routines : CreateAndFill"
  824.    Combo1.AddItem "String routines : StringCRC32"
  825.    Combo1.AddItem "String routines : Compress"
  826.    Combo1.AddItem "String routines : Encrypt"
  827.    Combo1.AddItem "String routines : Decrypt"
  828.    Combo1.AddItem "Files  routines : FileCRC32"
  829.    Combo1.AddItem "String routines : Lrc"
  830.    Combo1.AddItem "String routines : IsPalindrome"
  831.    Combo1.AddItem "String routines : CheckNumericity"
  832.    Combo1.AddItem "String routines : Fill"
  833.    Combo1.AddItem "String routines : SetAllBits"
  834.    Combo1.AddItem "String routines : SetBit"
  835.    Combo1.AddItem "String routines : GetBit"
  836.    Combo1.AddItem "String routines : FindBitSet"
  837.    Combo1.AddItem "String routines : FindBitReset"
  838.    Combo1.AddItem "String routines : ToggleBit"
  839.    Combo1.AddItem "String routines : ToggleAllBits"
  840.    Combo1.AddItem "String routines : ReverseAllBits"
  841.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  842.    Combo1.AddItem "String routines : CreateBits"
  843.    Combo1.AddItem "String routines : ArabicToRoman"
  844.    Combo1.AddItem "String routines : RomanToArabic"
  845.    Combo1.AddItem "Custom controls"
  846.    Combo1.AddItem "Swap routines"
  847.    Combo1.AddItem "Min,Max routines"
  848.    Combo1.AddItem "System menu change : French"
  849.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  850.    Combo1.AddItem "Files routines : GetClusterSize"
  851.    Combo1.AddItem "Language routines : GetAscTime"
  852.    Combo1.AddItem "Language routines : Days and months name"
  853.    Combo1.AddItem "Language routines : Read Control Language"
  854.    Combo1.AddItem "File routines : Compare"
  855.    Combo1.AddItem "File routines : File Copy"
  856.    Combo1.AddItem "File routines : File Filter"
  857.    Combo1.AddItem "File routines : File Filter Not"
  858.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  859.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  860.    Combo1.AddItem "File routines : SplitPath"
  861.    Combo1.AddItem "File routines : FullPath"
  862.    Combo1.AddItem "File routines : MakePath"
  863.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  864.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  865.    Combo1.AddItem "String routines : MixChars"
  866.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  867.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  868.    Combo1.AddItem "File routines : FileLineCount"
  869.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  870.    Combo1.AddItem "Misc. routines : Big Double"
  871.    Combo1.AddItem "Misc. routines : Big Numbers"
  872.    Combo1.AddItem "System menu change (one call) : French"
  873.    Combo1.AddItem "System menu change (one call) : Dutch"
  874.    Combo1.AddItem "System menu change (one call) : German"
  875.    Combo1.AddItem "System menu change (one call) : English"
  876.    Combo1.AddItem "System menu change (one call) : Italian"
  877.    Combo1.AddItem "System menu change (one call) : Spanish"
  878.    Combo1.AddItem "File routines : FileMerge"
  879.    Combo1.AddItem "File routines : FileSearchAndReplace"
  880.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  881.    Combo1.AddItem "String routines : PatternMatch"
  882.    Combo1.AddItem "String routines : PatternExtMatch"
  883.    Combo1.AddItem "Misc. routines : Morse"
  884.    Combo1.AddItem "DOS routines : GetDriveType"
  885.    Combo1.AddItem "Misc. routines : Base conversion"
  886.    Combo1.AddItem "File routines : FileStatistics"
  887.    Combo1.AddItem "Disk Array routines : (create) String"
  888.    Combo1.AddItem "Disk Array routines : (create) Long"
  889.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  890.    Combo1.AddItem "Disk Array routines : (use) String"
  891.    Combo1.AddItem "Disk Array routines : (use) Long"
  892.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  893.    Combo1.AddItem "Disk Array routines : (clear) String"
  894.    Combo1.AddItem "Disk Array routines : (clear) Long"
  895.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  896.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  897.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  898.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  899.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  900.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  901.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  902.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  903.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  904.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  905.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  906.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  907.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  908.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  909.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  910.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  911.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  912.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  913.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  914.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  915.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  916.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  917.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  918.    Combo1.AddItem "Timer functions : Extended Timer"
  919.    Combo1.AddItem "String routines : Align"
  920.    Combo1.AddItem "String routines : Token"
  921.    Combo1.AddItem "Array routines : ArrayOnDisk"
  922.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  923.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  924.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  925.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  926.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  927.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  928.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  929.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  930.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  931.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  932.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  933.    Combo1.AddItem "Misc. routines : RegistrationKey"
  934.    Combo1.AddItem "Misc. routines : HashMD5"
  935.    Combo1.AddItem "String routines : ProperName"
  936.    Combo1.AddItem "Matrix routines : MatrixAdd"
  937.    Combo1.AddItem "Matrix routines : MatrixSub"
  938.    Combo1.AddItem "Matrix routines : MatrixCopy"
  939.    Combo1.AddItem "Matrix routines : MatrixMul"
  940.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  941.    Combo1.AddItem "Matrix routines : MatrixCompare"
  942.    Combo1.AddItem "2-D geometry"
  943.    Combo1.AddItem "3-D geometry"
  944.    Combo1.AddItem "String routines : ProperName2"
  945.    Combo1.AddItem "DOS routines : DOSMediaID"
  946.    Combo1.AddItem "File routines : File Compress/Expand"
  947.    Combo1.AddItem "String routines : String Compress/Expand"
  948.    Combo1.AddItem "Array routines : FillIncrI"
  949.    Combo1.AddItem "Matrix routines : MatrixDet"
  950.    Combo1.AddItem "Matrix routines : MatrixInv"
  951.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  952.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  953.    Combo1.AddItem "DOS routines : FloppyInfo"
  954.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  955.    Combo1.AddItem "Time routines : AddTwoTimes"
  956.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  957.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  958.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  959.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  960.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  961.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  962.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  963.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  964.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  965.    Combo1.AddItem "Misc. routines : GetVersion"
  966.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  967.    Combo1.AddItem "Huge String"
  968.    Combo1.AddItem "Huge Memory Array : (create) String"
  969.    Combo1.AddItem "Huge Memory Array : (create) Long"
  970.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  971.    Combo1.AddItem "Huge Memory Array : (clear) String"
  972.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  973.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  974.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  975.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  976.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  977.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  978.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  979.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  980.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  981.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  982.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  983.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  984.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  985.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  986.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  987.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  988.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  989.    Combo1.AddItem "Array routines : ArrayToListBox"
  990.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  991.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  992.    Combo1.AddItem "File routines : FileChangeChars"
  993.    Combo1.AddItem "File routines : FilesInfoInDir"
  994.    Combo1.AddItem "File routines : RcsCountFileDir"
  995.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  996.    Combo1.AddItem "File routines : FilesInDirToArray"
  997.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  998.    Combo1.AddItem "Language routines : Read Menu Language"
  999.    Combo1.AddItem "String routines : SpellMoney"
  1000.    Combo1.AddItem "Misc. routines : Fraction"
  1001.    Combo1.AddItem "Misc. routines : Rndx"
  1002.    Combo1.AddItem "String routines : StringSAR"
  1003.    Combo1.AddItem "File routines : TruncatePath"
  1004.    Combo1.AddItem "System menu change (one call) : Catalan"
  1005.    Combo1.AddItem "System menu change (one call) : Polish"
  1006.    Combo1.AddItem "Array routines : Count"
  1007.    Combo1.AddItem "Array routines : Search"
  1008.    Combo1.AddItem "File routines : FileUUCP"
  1009.    Combo1.AddItem "File routines : GZIP File Compress/Expand"
  1010.    Combo1.AddItem "String routines : GZIP String Compress/Expand"
  1011.    Combo1.AddItem "Files routines : KillDirs"
  1012.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (minimum)"
  1013.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (minimum)"
  1014.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (portable safe)"
  1015.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (portable safe)"
  1016.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (FORT KNOX)"
  1017.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (FORT KNOX)"
  1018.    Combo1.AddItem "System menu change (one call) : Norvegian"
  1019.    Combo1.AddItem "String routines : GetBitX (5 functions)"
  1020.    Combo1.AddItem "String routines : SetBitX (5 functions)"
  1021.    Combo1.AddItem "String routines : B2I/B2L/I2B/L2B"
  1022.    Combo1.AddItem "String routines : FromHexa/ToHexa"
  1023.    Combo1.AddItem "String routines : FromZ9/ToZ9"
  1024.    Combo1.AddItem "Files routines : CutFile"
  1025.    Combo1.AddItem "Files routines : SplitFile"
  1026.    Combo1.AddItem "Array routines : MaxNotX"
  1027.    Combo1.AddItem "Array routines : MinNotX"
  1028.    Combo1.AddItem "File routines : FileMergeExt"
  1029.    Combo1.ListIndex = Combo1.ListCount - 1
  1030.    Combo2.ListIndex = 2
  1031.    Item = Val(Combo2.Text)
  1032.    ItemFile = Val(Combo2.Text)
  1033.    ItemMean = Val(Combo2.Text)
  1034.    Text1.Text = "A/BC/DEF/GHIJ"
  1035.    Me.Caption = Me.Caption + " (v" + Format$(cGetVersion()) + ")"
  1036. End Sub
  1037. Sub Form_Paint ()
  1038.    Dim i As Integer
  1039.    Dim n As Integer
  1040.    n = frmT2W.Controls.Count - 1
  1041.    For i = 0 To n
  1042.       If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  1043.      Call c3D(frmT2W.Controls(i), 0, 0)
  1044.       End If
  1045.    Next i
  1046. End Sub
  1047. Sub Form_Unload (Cancel As Integer)
  1048.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1049. End Sub
  1050. Sub Label2_DblClick ()
  1051.    Dim i       As Integer
  1052.    Dim n       As Integer
  1053.    n = Combo1.ListCount - 1
  1054.    For i = 0 To n
  1055.       Combo1.ListIndex = i
  1056.       DoEvents
  1057.       Call Command1_Click
  1058.       DoEvents
  1059.    Next i
  1060. End Sub
  1061. Sub Test2D ()
  1062.    Dim Tmp1       As String
  1063.    Dim i          As Integer
  1064.    Dim j          As Integer
  1065.    Dim k          As Double
  1066.    Dim u          As tagVECTOR2
  1067.    Dim v          As tagVECTOR2
  1068.    Dim w          As tagVECTOR2
  1069.    u.x = 1
  1070.    u.y = 1
  1071.    v.x = 3
  1072.    v.y = 3
  1073.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1074.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  1075.    Call cV2Add(u, v, w)
  1076.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1077.    Call cV2Sub(u, v, w)
  1078.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1079.    Call cV2Mul(u, v, w)
  1080.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1081.    k = cV2Dot(u, v)
  1082.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1083.    k = cV2Length(v)
  1084.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1085.    k = cV2SegmentLength(u, v)
  1086.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1087.    Call cV2Normalized(u)
  1088.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1089.           
  1090.    cStartBasisTimer
  1091.    For i = 1 To ItemFile
  1092.       Call cV2Add(u, v, w)
  1093.    Next i
  1094.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1095.    Label3.Caption = Tmp1
  1096. End Sub
  1097. Sub Test3D ()
  1098.    Dim Tmp1       As String
  1099.    Dim i          As Integer
  1100.    Dim j          As Integer
  1101.    Dim k          As Double
  1102.    Dim u          As tagVECTOR3
  1103.    Dim v          As tagVECTOR3
  1104.    Dim w          As tagVECTOR3
  1105.    u.x = 1
  1106.    u.y = 1
  1107.    u.z = 1
  1108.    v.x = 3
  1109.    v.y = 3
  1110.    v.z = 3
  1111.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1112.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  1113.    Call cV3Add(u, v, w)
  1114.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1115.    Call cV3Sub(u, v, w)
  1116.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1117.    Call cV3Mul(u, v, w)
  1118.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1119.    k = cV3Dot(u, v)
  1120.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1121.    k = cV3Length(v)
  1122.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1123.    k = cV3SegmentLength(u, v)
  1124.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1125.    Call cV3Normalized(u)
  1126.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1127.           
  1128.    cStartBasisTimer
  1129.    For i = 1 To ItemFile
  1130.       Call cV3Add(u, v, w)
  1131.    Next i
  1132.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1133.    Label3.Caption = Tmp1
  1134. End Sub
  1135. Sub TestAddI ()
  1136.    Dim title      As String
  1137.    Dim Tmp        As String
  1138.    Dim Tmp1       As String
  1139.    Dim Tmp2       As String
  1140.    Dim i          As Integer
  1141.    Dim j          As Integer
  1142.    Dim m          As Double
  1143.    ReDim array(ItemMean) As Integer
  1144.    Randomize Timer
  1145.    For i = LBound(array) To UBound(array)
  1146.       array(i) = 0
  1147.       List1.AddItem "" & array(i)
  1148.    Next i
  1149.    j = cAddI(array(), 10)
  1150.    For i = LBound(array) To UBound(array)
  1151.       List2.AddItem "" & array(i)
  1152.    Next i
  1153.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1154.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1155.    cStartBasisTimer
  1156.    For i = 1 To ItemFile
  1157.       j = cAddI(array(), 1)
  1158.    Next i
  1159.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1160.    Label3.Caption = Tmp1
  1161. End Sub
  1162. Sub TestAddTime ()
  1163.    Dim title      As String
  1164.    Dim Tmp        As String
  1165.    Dim Tmp1       As String
  1166.    Dim Tmp2       As String
  1167.    Dim i          As Integer
  1168.    Dim j          As Integer
  1169.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1170.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1171.    cStartBasisTimer
  1172.    For i = 1 To Item
  1173.       j = cAddTime(1439 + 2)
  1174.    Next i
  1175.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1176.    Label3.Caption = Tmp1
  1177. End Sub
  1178. Sub TestAddTwoTimes ()
  1179.    Dim title      As String
  1180.    Dim Tmp        As String
  1181.    Dim Tmp1       As String
  1182.    Dim Tmp2       As String
  1183.    Dim i          As Integer
  1184.    Dim j          As Integer
  1185.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1186.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1187.    cStartBasisTimer
  1188.    For i = 1 To Item
  1189.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1190.    Next i
  1191.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1192.    Label3.Caption = Tmp1
  1193. End Sub
  1194. Sub TestAlign ()
  1195.    Dim title      As String
  1196.    Dim Tmp        As String
  1197.    Dim Tmp1       As String
  1198.    Dim Tmp2       As String
  1199.    Dim i          As Integer
  1200.    Dim j          As Integer
  1201.    Tmp = "TIME TO WIN"
  1202.    title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1203.    Tmp1 = title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1204.    title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1205.    Tmp1 = Tmp1 & title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1206.    title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1207.    Tmp1 = Tmp1 & title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1208.    j = cTimerOpen()
  1209.    i = cTimerStart(j)
  1210.    For i = 1 To Item
  1211.       Tmp2 = cAlign(Tmp, 0, 30)
  1212.    Next i
  1213.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1214.    i = cTimerClose(j)
  1215.    Label3.Caption = Tmp1
  1216. End Sub
  1217. Sub TestAllSubDir ()
  1218.    Dim n       As Integer
  1219.    Dim Tmp     As String
  1220.    n = -1
  1221.    Tmp = cAllSubDirectories("C:", n)
  1222.    Label3.Caption = "Directories founden on drive C are " & n & Chr$(13) & Tmp
  1223. End Sub
  1224. Sub TestAndToken ()
  1225.    Dim title      As String
  1226.    Dim Tmp        As String
  1227.    Dim Tmp1       As String
  1228.    Dim Tmp2       As String
  1229.    Dim i          As Integer
  1230.    Dim j          As Integer
  1231.    Tmp = "FOX|OVER|THE"
  1232.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1233.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1234.    Tmp = "quick|jumps|the"
  1235.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1236.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1237.    Tmp = "FOX\OVER\THE"
  1238.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1239.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1240.    Tmp = "quick\jumps\the"
  1241.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1242.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1243.    Tmp = "FOX/OVER/THE"
  1244.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1245.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1246.    Tmp = "quick\JUMPS\the"
  1247.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1248.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1249.    Tmp = LCase$("quick\jumps\THE")
  1250.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1251.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1252.    cStartBasisTimer
  1253.    For i = 1 To Item
  1254.       j = cAndToken(Tmp2, Tmp)
  1255.    Next i
  1256.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1257.    Label3.Caption = Tmp1
  1258. End Sub
  1259. Sub TestArrayLB ()
  1260.    Dim title      As String
  1261.    Dim Tmp        As String
  1262.    Dim Tmp1       As String
  1263.    Dim Tmp2       As String
  1264.    Dim i          As Long
  1265.    Dim j          As Long
  1266.    Dim n1         As Long
  1267.    Dim n2         As Long
  1268.    Dim m1         As Integer
  1269.    Dim m2         As Integer
  1270.    m1 = -99
  1271.    m2 = 99
  1272.    ReDim AD(m1 To m2)         As tagVARSTRING
  1273.    Randomize Timer
  1274.    ' initialization because we use ReDim without Global definition
  1275.    For i = m1 To m2
  1276.       If ((i Mod 2) = 0) Then
  1277.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1278.       Else
  1279.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1280.       End If
  1281.    Next i
  1282.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1283.    j = cArrayToListBox(List1.hWnd, AD())
  1284.    j = cArrayToListBox(List2.hWnd, AD())
  1285.    cStartBasisTimer
  1286.    For i = 1 To Item
  1287.       j = cArrayToListBox(List1.hWnd, AD())
  1288.    Next i
  1289.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1290.    Label3.Caption = Tmp1
  1291. End Sub
  1292. Sub TestArrayOnDisk ()
  1293.    Dim title      As String
  1294.    Dim Tmp        As String
  1295.    Dim Tmp1       As String
  1296.    Dim Tmp2       As String
  1297.    Dim i          As Long
  1298.    Dim j          As Long
  1299.    Dim n1         As Long
  1300.    Dim n2         As Long
  1301.    Dim m1         As Integer
  1302.    Dim m2         As Integer
  1303.    m1 = -9999
  1304.    m2 = 9999
  1305.    ReDim AD(m1 To m2, 0 To 1)   As Long
  1306.    Randomize Timer
  1307.    n1 = Int(1234567890 * Rnd)
  1308.    n2 = -Int(987654321 * Rnd)
  1309.    ' initialization because we use ReDim without Global definition
  1310.    For i = m1 To m2
  1311.       AD(i, 0) = n1
  1312.       AD(i, 1) = n2
  1313.    Next i
  1314.    Tmp = "test.dat"
  1315.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1316.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1317.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1318.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1319.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1320.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1321.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1322.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1323.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1324.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1325.    For i = m1 To m2
  1326.       AD(i, 0) = 0
  1327.       AD(i, 1) = 0
  1328.    Next i
  1329.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1330.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1331.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1332.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1333.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1334.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1335.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1336.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1337.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1338.    cStartBasisTimer
  1339.    For i = 1 To Item
  1340.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1341.    Next i
  1342.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1343.    Label3.Caption = Tmp1
  1344. End Sub
  1345. Sub TestArrayStringOnDisk ()
  1346.    Dim title      As String
  1347.    Dim Tmp        As String
  1348.    Dim Tmp1       As String
  1349.    Dim Tmp2       As String
  1350.    Dim i          As Long
  1351.    Dim j          As Long
  1352.    Dim n1         As Long
  1353.    Dim n2         As Long
  1354.    Dim r          As Long
  1355.    Dim m1         As Integer
  1356.    Dim m2         As Integer
  1357.    m1 = -999
  1358.    m2 = 4000
  1359.    ReDim AD(m1 To m2)         As tagVARSTRING
  1360.    ' initialization because we use ReDim without Global definition
  1361.    For i = m1 To m2
  1362.       AD(i).Contents = Space$(256)
  1363.    Next i
  1364.    Randomize Timer
  1365.    Tmp = "c:\autoexec.bat"
  1366.    Tmp2 = "c:\autoexec.tab"
  1367.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1368.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1369.    For i = 0 To 6
  1370.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1371.    Next i
  1372.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & Chr$(13) & Chr$(13)
  1373.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1374.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1375.    For i = 0 To 6
  1376.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1377.    Next i
  1378.    cStartBasisTimer
  1379.    For i = 1 To Item
  1380.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1381.    Next i
  1382.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1383.    Label3.Caption = Tmp1
  1384. End Sub
  1385. Sub TestAscTime ()
  1386.    Dim title      As String
  1387.    Dim Tmp        As String
  1388.    Dim Tmp1       As String
  1389.    Dim Tmp2       As String
  1390.    Dim i          As Integer
  1391.    Dim j          As Integer
  1392.    Dim k          As Long
  1393.    Dim ErrCode    As Integer
  1394.    Tmp1 = ""
  1395.    For i = LNG_FRENCH To LNG_NORVEGIAN
  1396.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1397.    Next i
  1398.    Tmp1 = Tmp1 + Chr$(13)
  1399.    cStartBasisTimer
  1400.    For i = 1 To Item
  1401.       Tmp = cGetAscTime(LNG_FRENCH)
  1402.    Next i
  1403.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1404.    Label3.Caption = Tmp1
  1405. End Sub
  1406. Sub TestAtoR ()
  1407.    Dim Tmp        As Integer
  1408.    Dim Tmp1       As String
  1409.    Tmp = Year(Int(Now))
  1410.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1411.    Tmp = Year(Int(Now)) - 1
  1412.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1413.    Tmp = Year(Int(Now)) + 1
  1414.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1415.    Label3.Caption = Tmp1
  1416. End Sub
  1417. Sub TestB2I ()
  1418.    Dim lngResult        As Long
  1419.    Dim intResult        As Integer
  1420.    Dim strResult        As String
  1421.    Dim strDisplay       As String
  1422.    Dim i                As Integer
  1423.    Dim i1               As String
  1424.    Dim i2               As String
  1425.    Dim l1               As String
  1426.    Dim l2               As String
  1427.    i1 = "1010101010101010"
  1428.    i2 = "0101010101010101"
  1429.    l1 = "10101010101010101010101010101010"
  1430.    l2 = "01010101010101010101010101010101"
  1431.    lngResult = 0
  1432.    strResult = ""
  1433.    strDisplay = ""
  1434.      
  1435.    strDisplay = strDisplay & "B2I of " & i1 & " is " & cB2I(i1) & Chr$(13)
  1436.    strDisplay = strDisplay & "B2I of " & i2 & " is " & cB2I(i2) & Chr$(13) & Chr$(13)
  1437.    strDisplay = strDisplay & "I2B of " & cB2I(i1) & " is " & cI2B(cB2I(i1)) & Chr$(13)
  1438.    strDisplay = strDisplay & "I2B of " & cB2I(i2) & " is " & cI2B(cB2I(i2)) & Chr$(13) & Chr$(13)
  1439.    strDisplay = strDisplay & "B2L of " & l1 & " is " & cB2L(l1) & Chr$(13)
  1440.    strDisplay = strDisplay & "B2L of " & l2 & " is " & cB2L(l2) & Chr$(13) & Chr$(13)
  1441.    strDisplay = strDisplay & "L2B of " & cB2L(l1) & " is " & cL2B(cB2L(l1)) & Chr$(13)
  1442.    strDisplay = strDisplay & "L2B of " & cB2L(l2) & " is " & cL2B(cB2L(l2)) & Chr$(13) & Chr$(13)
  1443.    'time the function
  1444.    cStartBasisTimer
  1445.    For i = 1 To Item
  1446.       intResult = cB2I("10101010")
  1447.    Next i
  1448.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1449.    Label3.Caption = strDisplay
  1450. End Sub
  1451. Sub TestBaseConversion ()
  1452.    Dim title      As String
  1453.    Dim Tmp        As String
  1454.    Dim Tmp1       As String
  1455.    Dim Tmp2       As String
  1456.    Dim i          As Integer
  1457.    Dim j          As Integer
  1458.    Dim k          As Long
  1459.    Dim ErrCode    As Integer
  1460.    Tmp1 = ""
  1461.    For i = 2 To 20
  1462.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1463.    Next i
  1464.    Tmp1 = Tmp1 + Chr$(13)
  1465.    cStartBasisTimer
  1466.    For i = 1 To Item
  1467.       Tmp = cBaseConversion("123456789", 10, 10)
  1468.    Next i
  1469.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1470.    Label3.Caption = Tmp1
  1471. End Sub
  1472. Sub TestBetween ()
  1473.    Dim title      As String
  1474.    Dim Tmp        As String
  1475.    Dim Tmp1       As String
  1476.    Dim Tmp2       As String
  1477.    Dim i          As Integer
  1478.    Dim j          As Integer
  1479.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1480.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1481.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1482.    cStartBasisTimer
  1483.    For i = 1 To Item
  1484.       j = cBetween(720, 0, 1439)
  1485.    Next i
  1486.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1487.    Label3.Caption = Tmp1
  1488. End Sub
  1489. Sub TestBig ()
  1490.    Dim title      As String
  1491.    Dim Tmp        As String
  1492.    Dim Tmp1       As String
  1493.    Dim Tmp2       As String
  1494.    Dim Tmp3       As String
  1495.    Dim i          As Integer
  1496.    Dim j          As Integer
  1497.    Dim m1         As Double
  1498.    Dim m2         As Double
  1499.    m1 = 123456789012345#
  1500.    m2 = 987654321098765#
  1501.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1502.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1503.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1504.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1505.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1506.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1507.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1508.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1509.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1510.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1511.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1512.    cStartBasisTimer
  1513.    For i = 1 To ItemFile
  1514.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1515.    Next i
  1516.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1517.    Label3.Caption = Tmp1
  1518. End Sub
  1519. Sub TestBigNum ()
  1520.    Dim title      As String
  1521.    Dim Tmp        As String
  1522.    Dim Tmp1       As String
  1523.    Dim Tmp2       As String
  1524.    Dim Tmp3       As String
  1525.    Dim Tmp4       As String
  1526.    Dim i          As Integer
  1527.    Dim j          As Integer
  1528.    Dim m          As Double
  1529.    Tmp3 = "00001234567890123456789012345678901"
  1530.    Tmp4 = "00009876543210987654321098765432100"
  1531.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1532.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1533.    Tmp = Tmp3
  1534.    Tmp2 = Tmp4
  1535.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1536.    Tmp = Tmp3
  1537.    Tmp2 = "-" & Tmp4
  1538.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1539.    Tmp = "-" & Tmp3
  1540.    Tmp2 = Tmp4
  1541.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1542.    Tmp = "-" & Tmp3
  1543.    Tmp2 = "-" & Tmp4
  1544.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1545.    Tmp = Tmp3
  1546.    Tmp2 = Tmp4
  1547.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1548.    Tmp = Tmp3
  1549.    Tmp2 = "-" & Tmp4
  1550.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1551.    Tmp = "-" & Tmp3
  1552.    Tmp2 = Tmp4
  1553.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1554.    Tmp = "-" & Tmp3
  1555.    Tmp2 = "-" & Tmp4
  1556.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1557.    Tmp = Tmp3
  1558.    Tmp2 = Tmp4
  1559.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1560.    Tmp = Tmp3
  1561.    Tmp2 = "-" & Tmp4
  1562.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1563.    Tmp = "-" & Tmp3
  1564.    Tmp2 = Tmp4
  1565.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1566.    Tmp = "-" & Tmp3
  1567.    Tmp2 = "-" & Tmp4
  1568.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1569.    cStartBasisTimer
  1570.    For i = 1 To ItemFile
  1571.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1572.    Next i
  1573.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1574.    cStartBasisTimer
  1575.    For i = 1 To ItemFile
  1576.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1577.    Next i
  1578.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1579.    cStartBasisTimer
  1580.    For i = 1 To ItemFile
  1581.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1582.    Next i
  1583.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1584.    Label3.Caption = Tmp1
  1585. End Sub
  1586. Sub TestBigString01 ()
  1587.    Dim Tmp1       As String
  1588.    Dim m1         As Integer
  1589.    Dim p1         As Integer
  1590.    Tmp1 = "Create a big string of 512 Kb is "
  1591.    m1 = cHugeStrCreate(512 * 1024&)
  1592.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1593.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1594.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1595.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1596.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1597.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1598.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1599.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1600.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1601.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1602.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1603.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1604.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1605.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1606.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1607.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1608.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1609.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1610.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1611.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1612.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1613.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1614.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1615.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1616.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1617.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1618.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1619.    p1 = cHugeStrFree(m1)
  1620.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1621.    Label3.Caption = Tmp1
  1622. End Sub
  1623. Sub TestBlockCharFromLeft ()
  1624.    Dim title      As String
  1625.    Dim Tmp        As String
  1626.    Dim Tmp1       As String
  1627.    Dim Tmp2       As String
  1628.    Dim i          As Integer
  1629.    Dim j          As Integer
  1630.    Tmp = Text1.Text
  1631.    title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1632.    Tmp = Text1.Text
  1633.    Tmp1 = title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1634.    cStartBasisTimer
  1635.    For i = 1 To Item
  1636.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1637.    Next i
  1638.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1639.    Label3.Caption = Tmp1
  1640. End Sub
  1641. Sub TestBlockCharFromRight ()
  1642.    Dim title      As String
  1643.    Dim Tmp        As String
  1644.    Dim Tmp1       As String
  1645.    Dim Tmp2       As String
  1646.    Dim i          As Integer
  1647.    Dim j          As Integer
  1648.    Tmp = Text1.Text
  1649.    title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1650.    Tmp = Text1.Text
  1651.    Tmp1 = title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1652.    cStartBasisTimer
  1653.    For i = 1 To Item
  1654.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1655.    Next i
  1656.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1657.    Label3.Caption = Tmp1
  1658. End Sub
  1659. Sub TestChangeChars ()
  1660.    Dim title      As String
  1661.    Dim Tmp        As String
  1662.    Dim Tmp1       As String
  1663.    Dim Tmp2       As String
  1664.    Dim i          As Integer
  1665.    Dim j          As Integer
  1666.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1667.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1668.    Call cChangeChars(Tmp, "AZM", "qyc")
  1669.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1670.    cStartBasisTimer
  1671.    For i = 1 To Item
  1672.       Call cChangeChars(Tmp, "AZM", "qyc")
  1673.    Next i
  1674.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1675.    Label3.Caption = Tmp1
  1676. End Sub
  1677. Sub TestChangeCharsUntil ()
  1678.    Dim title      As String
  1679.    Dim Tmp        As String
  1680.    Dim Tmp1       As String
  1681.    Dim Tmp2       As String
  1682.    Dim i          As Integer
  1683.    Dim j          As Integer
  1684.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1685.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1686.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1687.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1688.    cStartBasisTimer
  1689.    For i = 1 To Item
  1690.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1691.    Next i
  1692.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1693.    Label3.Caption = Tmp1
  1694. End Sub
  1695. Sub TestChDir ()
  1696.    Dim title      As String
  1697.    Dim Tmp        As String
  1698.    Dim Tmp1       As String
  1699.    Dim Tmp2       As String
  1700.    Dim i          As Integer
  1701.    Dim j          As Integer
  1702.    Dim k          As Long
  1703.    Dim ErrCode    As Integer
  1704.    Tmp1 = ""
  1705.    For i = 1 To 26
  1706.       k = cChDir(Chr$(64 + i) & ":\")
  1707.       If (k = True) Then
  1708.      Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1709.       End If
  1710.    Next i
  1711.    Tmp1 = Tmp1 + Chr$(13)
  1712.    cStartBasisTimer
  1713.    For i = 1 To Item
  1714.       k = cChDir("C:\")
  1715.    Next i
  1716.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1717.    Label3.Caption = Tmp1
  1718. End Sub
  1719. Sub TestChDrive ()
  1720.    Dim title      As String
  1721.    Dim Tmp        As String
  1722.    Dim Tmp1       As String
  1723.    Dim Tmp2       As String
  1724.    Dim i          As Integer
  1725.    Dim j          As Integer
  1726.    Dim k          As Long
  1727.    Dim ErrCode    As Integer
  1728.    Tmp1 = ""
  1729.    For i = 1 To 26
  1730.       k = cChDrive(Chr$(64 + i))
  1731.       If (k = True) Then
  1732.      Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1733.       End If
  1734.    Next i
  1735.    Tmp1 = Tmp1 + Chr$(13)
  1736.    cStartBasisTimer
  1737.    For i = 1 To Item
  1738.       k = cChDrive("C")
  1739.    Next i
  1740.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1741.    Label3.Caption = Tmp1
  1742. End Sub
  1743. Sub TestCheckChars ()
  1744.    Dim title      As String
  1745.    Dim Tmp        As String
  1746.    Dim Tmp1       As String
  1747.    Dim Tmp2       As String
  1748.    Dim i          As Integer
  1749.    Dim j          As Integer
  1750.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1751.    title = "Check 'A','Z' in [" & Tmp & "] is "
  1752.    Tmp1 = title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1753.    title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1754.    Tmp1 = title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1755.    cStartBasisTimer
  1756.    For i = 1 To Item
  1757.       j = cCheckChars(Tmp, "AZ")
  1758.    Next i
  1759.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1760.    Label3.Caption = Tmp1
  1761. End Sub
  1762. Sub TestCheckNumericity ()
  1763.    Dim title      As String
  1764.    Dim Tmp        As String
  1765.    Dim Tmp1       As String
  1766.    Dim Tmp2       As String
  1767.    Dim i          As Integer
  1768.    Dim j          As Integer
  1769.    Tmp = Text1.Text
  1770.    title = "[" & Tmp & "] is "
  1771.    Tmp1 = title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  1772.    cStartBasisTimer
  1773.    For i = 1 To Item
  1774.       j = cCheckNumericity(Tmp)
  1775.    Next i
  1776.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1777.    Label3.Caption = Tmp1
  1778. End Sub
  1779. Sub TestCheckTime ()
  1780.    Dim title      As String
  1781.    Dim Tmp        As String
  1782.    Dim Tmp1       As String
  1783.    Dim Tmp2       As String
  1784.    Dim i          As Integer
  1785.    Dim j          As Integer
  1786.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  1787.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  1788.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  1789.    cStartBasisTimer
  1790.    For i = 1 To Item
  1791.       j = cCheckTime(720, 0, 1439)
  1792.    Next i
  1793.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1794.    Label3.Caption = Tmp1
  1795. End Sub
  1796. Sub TestCloseAllEditForm ()
  1797.    If (cCloseAllEditForm() = True) Then
  1798.       Label3.Caption = "CloseAllEditForm SUCCESS"
  1799.    Else
  1800.       Label3.Caption = "CloseAllEditForm FAIL"
  1801.    End If
  1802. End Sub
  1803. Sub TestClusterSize ()
  1804.    Dim title      As String
  1805.    Dim Tmp        As String
  1806.    Dim Tmp1       As String
  1807.    Dim Tmp2       As String
  1808.    Dim i          As Integer
  1809.    Dim j          As Integer
  1810.    Dim k          As Long
  1811.    Dim ErrCode    As Integer
  1812.    Tmp1 = ""
  1813.    For i = 1 To 26
  1814.       k = cGetDiskClusterSize(Chr$(64 + i))
  1815.       If (k <> True) Then
  1816.      Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  1817.       End If
  1818.    Next i
  1819.    Tmp1 = Tmp1 + Chr$(13)
  1820.    cStartBasisTimer
  1821.    For i = 1 To Item
  1822.       k = cGetDiskClusterSize("C")
  1823.    Next i
  1824.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1825.    Label3.Caption = Tmp1
  1826. End Sub
  1827. Sub TestCnvAE ()
  1828.    Dim title      As String
  1829.    Dim Tmp        As String
  1830.    Dim Tmp1       As String
  1831.    Dim Tmp2       As String
  1832.    Dim i          As Integer
  1833.    Dim j          As Integer
  1834.    Tmp = Text1.Text
  1835.    title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  1836.    Call cCnvASCIItoEBCDIC(Tmp)
  1837.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1838.    title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  1839.    Call cCnvEBCDICtoASCII(Tmp)
  1840.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  1841.    cStartBasisTimer
  1842.    For i = 1 To Item
  1843.       Call cCnvASCIItoEBCDIC(Tmp)
  1844.    Next i
  1845.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1846.    Label3.Caption = Tmp1
  1847. End Sub
  1848. Sub TestCombination ()
  1849.    Dim title      As String
  1850.    Dim Tmp        As String
  1851.    Dim Tmp1       As String
  1852.    Dim Tmp2       As String
  1853.    Dim Tmp3       As String
  1854.    Dim i          As Integer
  1855.    Dim j          As Integer
  1856.    Dim m1         As Double
  1857.    Dim m2         As Double
  1858.    For i = 0 To 10
  1859.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1860.    Next i
  1861.    Tmp1 = Tmp1 & Chr$(13)
  1862.    For i = 42 To 32 Step -1
  1863.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1864.    Next i
  1865.    Tmp1 = Tmp1 & Chr$(13)
  1866.    cStartBasisTimer
  1867.    For i = 1 To ItemFile
  1868.       m1 = cCombination(42, 6)
  1869.    Next i
  1870.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1871.    Label3.Caption = Tmp1
  1872. End Sub
  1873. Sub TestCompact ()
  1874.    Dim title      As String
  1875.    Dim Tmp        As String
  1876.    Dim Tmp1       As String
  1877.    Dim Tmp2       As String
  1878.    Dim i          As Integer
  1879.    Dim j          As Integer
  1880.    Tmp = "30313233343536373839"
  1881.    title = "Compact '" & Tmp & "' is "
  1882.    Tmp1 = title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  1883.    cStartBasisTimer
  1884.    For i = 1 To Item
  1885.       Tmp2 = cCompact(Tmp)
  1886.    Next i
  1887.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1888.    Label3.Caption = Tmp1
  1889. End Sub
  1890. Sub TestCompress ()
  1891.    Dim title      As String
  1892.    Dim Tmp        As String
  1893.    Dim Tmp1       As String
  1894.    Dim Tmp2       As String
  1895.    Dim i          As Integer
  1896.    Dim j          As Integer
  1897.    Tmp1 = "A " & Chr$(9) & "BC  "
  1898.    Tmp = Tmp1
  1899.    title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  1900.    Tmp1 = title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  1901.    cStartBasisTimer
  1902.    For i = 1 To Item
  1903.       Tmp2 = cCompress(Tmp)
  1904.    Next i
  1905.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1906.    Label3.Caption = Tmp1
  1907. End Sub
  1908. Sub TestCompressTab ()
  1909.    Dim title      As String
  1910.    Dim Tmp        As String
  1911.    Dim Tmp1       As String
  1912.    Dim Tmp2       As String
  1913.    Dim i          As Integer
  1914.    Dim j          As Integer
  1915.    Tmp = "A      BC   DEF  GHIJ  "
  1916.    title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1917.    Tmp1 = title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  1918.    Tmp = "A      BC   DEF  GHIJ  "
  1919.    title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1920.    Tmp1 = Tmp1 & title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  1921.    cStartBasisTimer
  1922.    For i = 1 To Item
  1923.       Tmp2 = cCompressTab(Tmp, 3)
  1924.    Next i
  1925.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1926.    Label3.Caption = Tmp1
  1927. End Sub
  1928. Sub TestControl3D ()
  1929.    Dim i    As Integer
  1930.    Dim j    As Integer
  1931.    Dim r    As tagRECT
  1932.    Dim Tmp1 As String
  1933.    Call cGetCtlRect(Label3, r)
  1934.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  1935.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1936.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1937.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1938.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13) & Chr$(13)
  1939.    Call cGetCtlRectTwips(Label3, r)
  1940.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  1941.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1942.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1943.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1944.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13)
  1945.    Label3.Caption = Tmp1
  1946.    For i = 1 To 11
  1947.       c3D Label3, 0, 0
  1948.       DoEvents
  1949.       j = cSleep(140)
  1950.       c3D Label3, 1, 0
  1951.       DoEvents
  1952.       j = cSleep(140)
  1953.    Next i
  1954. End Sub
  1955. Sub TestCountDirectories ()
  1956.    Dim title      As String
  1957.    Dim Tmp        As String
  1958.    Dim Tmp1       As String
  1959.    Dim Tmp2       As String
  1960.    Dim i          As Integer
  1961.    Dim j          As Integer
  1962.    Dim k          As Integer
  1963.    Tmp1 = ""
  1964.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  1965.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  1966.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  1967.    cStartBasisTimer
  1968.    For i = 1 To 10
  1969.       k = cCountDirectories("C:\*.*")
  1970.    Next i
  1971.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1972.    Label3.Caption = Tmp1
  1973. End Sub
  1974. Sub TestCountFiles ()
  1975.    Dim title      As String
  1976.    Dim Tmp        As String
  1977.    Dim Tmp1       As String
  1978.    Dim Tmp2       As String
  1979.    Dim i          As Integer
  1980.    Dim j          As Integer
  1981.    Dim k          As Integer
  1982.    Tmp1 = ""
  1983.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  1984.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  1985.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  1986.    cStartBasisTimer
  1987.    For i = 1 To 10
  1988.       k = cCountFiles("C:\*.*")
  1989.    Next i
  1990.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1991.    Label3.Caption = Tmp1
  1992. End Sub
  1993. Sub TestCountI ()
  1994.    Dim title      As String
  1995.    Dim Tmp        As String
  1996.    Dim Tmp1       As String
  1997.    Dim Tmp2       As String
  1998.    Dim i          As Integer
  1999.    Dim j          As Integer
  2000.    Dim m          As Integer
  2001.    ReDim array(20) As Integer
  2002.    Call cRndInit(-1)
  2003.    For i = LBound(array) To UBound(array)
  2004.       array(i) = cRndI()
  2005.       List1.AddItem "" & array(i)
  2006.    Next i
  2007.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & Chr$(13)
  2008.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & Chr$(13)
  2009.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & Chr$(13)
  2010.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & Chr$(13)
  2011.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & Chr$(13)
  2012.    cStartBasisTimer
  2013.    For i = 1 To ItemFile
  2014.       j = cCountI(array(), array(1))
  2015.    Next i
  2016.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2017.    Label3.Caption = Tmp1
  2018. End Sub
  2019. Sub TestCreateAndFill ()
  2020.    Dim title      As String
  2021.    Dim Tmp        As String
  2022.    Dim Tmp1       As String
  2023.    Dim Tmp2       As String
  2024.    Dim i          As Integer
  2025.    Dim j          As Integer
  2026.    Tmp = Text1.Text
  2027.    title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  2028.    Tmp1 = title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  2029.    cStartBasisTimer
  2030.    For i = 1 To Item
  2031.       Tmp2 = cCreateAndFill(40, Tmp)
  2032.    Next i
  2033.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2034.    Label3.Caption = Tmp1
  2035. End Sub
  2036. Sub TestCreateBits ()
  2037.    Dim title      As String
  2038.    Dim Tmp        As String
  2039.    Dim Tmp1       As String
  2040.    Dim Tmp2       As String
  2041.    Dim i          As Integer
  2042.    Dim j          As Integer
  2043.    Tmp = Text1.Text
  2044.    title = "Create a string for 1024 bits is "
  2045.    Tmp1 = title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  2046.    cStartBasisTimer
  2047.    For i = 1 To Item
  2048.       Tmp2 = cCreateBits(1024)
  2049.    Next i
  2050.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2051.    Label3.Caption = Tmp1
  2052. End Sub
  2053. Sub TestCustomControls ()
  2054.    Dim i       As Integer
  2055.    Dim n       As Integer
  2056.    Dim Tmp1    As String
  2057.    n = frmT2W.Count - 1
  2058.    For i = 0 To n
  2059.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  2060.    Next i
  2061.    Label3.Caption = Tmp1
  2062. End Sub
  2063. Sub TestCutFile ()
  2064.    Dim title         As String
  2065.    Dim Tmp           As String
  2066.    Dim Tmp1          As String
  2067.    Dim Tmp2          As String
  2068.    Dim Tmp3          As String
  2069.    Dim i             As Integer
  2070.    Dim j             As Long
  2071.    Dim CutPosition   As Long
  2072.    Tmp1 = ""
  2073.    Tmp = "c:\autoexec.bat"
  2074.    Tmp2 = "c:\autoexec.ct1"
  2075.    Tmp3 = "c:\autoexec.ct2"
  2076.    CutPosition = 345
  2077.    Tmp1 = Tmp1 & "FileSize of '" & Tmp & "' is " & cFileSize(Tmp) & Chr$(13) & Chr$(13)
  2078.    Tmp1 = Tmp1 & "CutFile '" & Tmp & "' in position '" & CutPosition & "' into file '" & Tmp2 & "' and '" & Tmp3 & "' is " & cCutFile(Tmp, Tmp2, Tmp3, CutPosition) & Chr$(13) & Chr$(13)
  2079.    Tmp1 = Tmp1 & "FileSize of '" & Tmp2 & "' is " & cFileSize(Tmp2) & Chr$(13)
  2080.    Tmp1 = Tmp1 & "FileSize of '" & Tmp3 & "' is " & cFileSize(Tmp3) & Chr$(13) & Chr$(13)
  2081.    cStartBasisTimer
  2082.    For i = 1 To Item
  2083.       j = cCutFile(Tmp, Tmp2, Tmp3, CutPosition)
  2084.    Next i
  2085.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2086.    Label3.Caption = Tmp1
  2087. End Sub
  2088. Sub TestDAL (Management As Integer)
  2089.    Dim Tmp        As String
  2090.    Dim ErrCode    As Integer
  2091.    Dim DA         As tagDISKARRAY
  2092.    ErrCode = cMakeDir("c:\t2w_tmp")
  2093.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  2094.    DA.nType = DA_LONG
  2095.    DA.nIsTyped = False
  2096.    DA.nRows = 100
  2097.    DA.nCols = 100
  2098.    DA.nSheets = 2
  2099.    Select Case Management
  2100.       Case True      'create
  2101.      ErrCode = cDACreate(DA, True)
  2102.       Case False     'use
  2103.      ErrCode = cDACreate(DA, False)
  2104.       Case 1         'clear all
  2105.      ErrCode = cDACreate(DA, False)
  2106.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2107.       Case 2         'clear sheet 2
  2108.      ErrCode = cDACreate(DA, False)
  2109.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2110.       Case 3         'clear last row
  2111.      ErrCode = cDACreate(DA, False)
  2112.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2113.       Case 4         'clear last col
  2114.      ErrCode = cDACreate(DA, False)
  2115.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2116.       Case 5         'clear last row in all sheets
  2117.      ErrCode = cDACreate(DA, False)
  2118.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2119.       Case 6         'clear last col in all sheets
  2120.      ErrCode = cDACreate(DA, False)
  2121.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2122.    End Select
  2123.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2124.    If (ErrCode = True) Then
  2125.       
  2126.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2127.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2128.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2129.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2130.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2131.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2132.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2133.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2134.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2135.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2136.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2137.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2138.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2139.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2140.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2141.       If (Management = True) Then
  2142.      Call cDAPut(DA, 1, 1, 1, 12345)
  2143.      Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2144.      Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2145.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2146.      Call cDAPut(DA, 1, 1, 2, 12345678)
  2147.      Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2148.      Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2149.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2150.       End If
  2151.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2152.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2153.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2154.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2155.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2156.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2157.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2158.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2159.    End If
  2160.    Call cDAClose(DA, False)
  2161.    Label3.Caption = Tmp
  2162. End Sub
  2163. Sub TestDAStr (Management As Integer)
  2164.    Dim Tmp        As String
  2165.    Dim ErrCode    As Integer
  2166.    Dim DA         As tagDISKARRAY
  2167.    ErrCode = cMakeDir("c:\t2w_tmp")
  2168.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2169.    DA.nType = 50
  2170.    DA.nIsTyped = False
  2171.    DA.nRows = 100
  2172.    DA.nCols = 100
  2173.    DA.nSheets = 2
  2174.    Select Case Management
  2175.       Case True      'create
  2176.      ErrCode = cDACreate(DA, True)
  2177.       Case False     'use
  2178.      ErrCode = cDACreate(DA, False)
  2179.       Case 1         'clear all
  2180.      ErrCode = cDACreate(DA, False)
  2181.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2182.       Case 2         'clear sheet 2
  2183.      ErrCode = cDACreate(DA, False)
  2184.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2185.       Case 3         'clear last row
  2186.      ErrCode = cDACreate(DA, False)
  2187.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2188.       Case 4         'clear last col
  2189.      ErrCode = cDACreate(DA, False)
  2190.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2191.       Case 5         'clear last row in all sheets
  2192.      ErrCode = cDACreate(DA, False)
  2193.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2194.       Case 6         'clear last col in all sheets
  2195.      ErrCode = cDACreate(DA, False)
  2196.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2197.    End Select
  2198.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2199.    If (ErrCode = True) Then
  2200.       
  2201.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2202.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2203.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2204.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2205.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2206.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2207.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2208.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2209.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2210.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2211.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2212.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2213.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2214.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2215.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2216.       If (Management = True) Then
  2217.       
  2218.      Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2219.      Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2220.      Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2221.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2222.      Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2223.      Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2224.      Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2225.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2226.       End If
  2227.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2228.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2229.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2230.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2231.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2232.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2233.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2234.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2235.    End If
  2236.    Call cDAClose(DA, False)
  2237.    Label3.Caption = Tmp
  2238. End Sub
  2239. Sub TestDate ()
  2240.    Dim title      As String
  2241.    Dim Tmp        As String
  2242.    Dim Tmp1       As String
  2243.    Dim Tmp2       As String
  2244.    Dim i          As Integer
  2245.    Dim j          As Integer
  2246.    Dim nYear      As Integer
  2247.    Dim nMonth     As Integer
  2248.    Dim nDay       As Integer
  2249.    Dim nNow       As Long
  2250.    nNow = Int(Now)
  2251.    nYear = Year(nNow)
  2252.    nMonth = Month(nNow)
  2253.    nDay = Day(nNow)
  2254.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2255.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2256.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2257.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2258.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2259.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2260.    nYear = 0
  2261.    nMonth = 0
  2262.    nDay = 0
  2263.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2264.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2265.    nNow = Int(Now)
  2266.    nYear = Year(nNow)
  2267.    nMonth = 1
  2268.    nDay = 1
  2269.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2270.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2271.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2272.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2273.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2274.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2275.    nYear = 0
  2276.    nMonth = 0
  2277.    nDay = 0
  2278.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2279.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2280.    Label3.Caption = Tmp1
  2281. End Sub
  2282. Sub TestDAType (Management As Integer)
  2283.    Dim Tmp        As String
  2284.    Dim ErrCode    As Integer
  2285.    Dim DA         As tagDISKARRAY
  2286.    Dim TE         As tagTASKENTRY
  2287.    ErrCode = cMakeDir("c:\t2w_tmp")
  2288.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2289.    DA.nType = Len(TE)
  2290.    DA.nIsTyped = True
  2291.    DA.nRows = 100
  2292.    DA.nCols = 100
  2293.    DA.nSheets = 2
  2294.    Select Case Management
  2295.       Case True      'create
  2296.      ErrCode = cDACreate(DA, True)
  2297.       Case False     'use
  2298.      ErrCode = cDACreate(DA, False)
  2299.       Case 1         'clear all
  2300.      ErrCode = cDACreate(DA, False)
  2301.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2302.       Case 2         'clear sheet 2
  2303.      ErrCode = cDACreate(DA, False)
  2304.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2305.       Case 3         'clear last row
  2306.      ErrCode = cDACreate(DA, False)
  2307.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2308.       Case 4         'clear last col
  2309.      ErrCode = cDACreate(DA, False)
  2310.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2311.       Case 5         'clear last row in all sheets
  2312.      ErrCode = cDACreate(DA, False)
  2313.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2314.       Case 6         'clear last col in all sheets
  2315.      ErrCode = cDACreate(DA, False)
  2316.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2317.       End Select
  2318.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2319.    If (ErrCode = True) Then
  2320.       
  2321.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2322.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2323.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2324.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2325.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2326.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2327.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2328.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2329.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2330.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2331.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2332.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2333.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2334.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2335.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2336.       If (Management = True) Then
  2337.      ErrCode = cTasks(TE, True)
  2338.      Call cDAPutType(DA, 1, 1, 1, TE)
  2339.      ErrCode = cTasks(TE, False)
  2340.      Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2341.      ErrCode = cTasks(TE, False)
  2342.      Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2343.      ErrCode = cTasks(TE, False)
  2344.      Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2345.      ErrCode = cTasks(TE, False)
  2346.      Call cDAPutType(DA, 1, 1, 2, TE)
  2347.      ErrCode = cTasks(TE, False)
  2348.      Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2349.      ErrCode = cTasks(TE, False)
  2350.      Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2351.      ErrCode = cTasks(TE, False)
  2352.      Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2353.       End If
  2354.       Call cDAGetType(DA, 1, 1, 1, TE)
  2355.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2356.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2357.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2358.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2359.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2360.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2361.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2362.       Call cDAGetType(DA, 1, 1, 2, TE)
  2363.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2364.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2365.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2366.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2367.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2368.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2369.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2370.    End If
  2371.    Call cDAClose(DA, False)
  2372.    Label3.Caption = Tmp
  2373. End Sub
  2374. Sub TestDecrypt ()
  2375.    Dim title      As String
  2376.    Dim Tmp        As String
  2377.    Dim Tmp1       As String
  2378.    Dim Tmp2       As String
  2379.    Dim Tmp3       As String
  2380.    Dim i          As Integer
  2381.    Dim j          As Integer
  2382.    Tmp3 = cToHexa(Format$(76543210))
  2383.    Tmp2 = "TIME TO WIN"
  2384.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2385.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2386.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2387.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2388.    Next i
  2389.    cStartBasisTimer
  2390.    For i = 1 To Item
  2391.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2392.    Next i
  2393.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2394.    Label3.Caption = Tmp1
  2395. End Sub
  2396. Sub TestDeviationI ()
  2397.    Dim title      As String
  2398.    Dim Tmp        As String
  2399.    Dim Tmp1       As String
  2400.    Dim Tmp2       As String
  2401.    Dim i          As Integer
  2402.    Dim j          As Integer
  2403.    Dim m          As Double
  2404.    Dim n          As Double
  2405.    ReDim array(ItemMean) As Integer
  2406.    Randomize Timer
  2407.    m = 0
  2408.    For i = LBound(array) To UBound(array)
  2409.       array(i) = Int(RandI * Rnd(1))
  2410.       m = m + array(i)
  2411.       List1.AddItem "" & array(i)
  2412.    Next i
  2413.    m = m / (UBound(array) - LBound(array) + 1)
  2414.    n = 0
  2415.    For i = LBound(array) To UBound(array)
  2416.       n = n + ((array(i) - m) * (array(i) - m))
  2417.    Next i
  2418.    n = (Sqr(n) / (UBound(array) - LBound(array) + 1))
  2419.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & n & ")" & Chr$(13) & Chr$(13)
  2420.    cStartBasisTimer
  2421.    For i = 1 To ItemFile
  2422.       m = cDeviationI(array())
  2423.    Next i
  2424.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2425.    Label3.Caption = Tmp1
  2426. End Sub
  2427. Sub TestDOSGetVolLabel ()
  2428.    Dim title         As String
  2429.    Dim Tmp           As String
  2430.    Dim Tmp1          As String
  2431.    Dim Tmp2          As String
  2432.    Dim i             As Integer
  2433.    Dim j             As Integer
  2434.    For i = 1 To 4
  2435.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2436.       If (Len(Tmp2) > 0) Then
  2437.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2438.       Else
  2439.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2440.       End If
  2441.    Next i
  2442.    Tmp1 = Tmp1 + Chr$(13)
  2443.    cStartBasisTimer
  2444.    For i = 1 To Item
  2445.       Tmp2 = cDOSGetVolumeLabel("C")
  2446.    Next i
  2447.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2448.    Label3.Caption = Tmp1
  2449. End Sub
  2450. Sub TestDOSMediaID ()
  2451.    Dim title         As String
  2452.    Dim Tmp           As String
  2453.    Dim Tmp1          As String
  2454.    Dim Tmp2          As String
  2455.    Dim i             As Integer
  2456.    Dim j             As Integer
  2457.    Dim MEDIAID       As tagMEDIAID
  2458.    For i = 1 To 7
  2459.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2460.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2461.      Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2462.      Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2463.      Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2464.       Else
  2465.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2466.       End If
  2467.    Next i
  2468.    Tmp1 = Tmp1 + Chr$(13)
  2469.    cStartBasisTimer
  2470.    For i = 1 To Item
  2471.       j = cDOSGetMediaID("", MEDIAID)
  2472.    Next i
  2473.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2474.    Label3.Caption = Tmp1
  2475. End Sub
  2476. Sub TestDriveType ()
  2477.    Dim title      As String
  2478.    Dim Tmp        As String
  2479.    Dim Tmp1       As String
  2480.    Dim Tmp2       As String
  2481.    Dim i          As Integer
  2482.    Dim j          As Integer
  2483.    Tmp1 = ""
  2484.    For i = 1 To 26
  2485.       j = cGetDriveType(Chr$(64 + i))
  2486.       If (j > 0) Then
  2487.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2488.      Select Case j
  2489.         Case 2
  2490.            Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2491.         Case 3
  2492.            Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2493.         Case 4
  2494.            Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2495.         Case 20
  2496.            Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2497.      End Select
  2498.       End If
  2499.    Next i
  2500.    Tmp1 = Tmp1 + Chr$(13)
  2501.    cStartBasisTimer
  2502.    For i = 1 To Item
  2503.       j = cGetDriveType("C")
  2504.    Next i
  2505.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2506.    Label3.Caption = Tmp1
  2507. End Sub
  2508. Sub TestEncrypt ()
  2509.    Dim title      As String
  2510.    Dim Tmp        As String
  2511.    Dim Tmp1       As String
  2512.    Dim Tmp2       As String
  2513.    Dim Tmp3       As String
  2514.    Dim i          As Integer
  2515.    Dim j          As Integer
  2516.    Tmp3 = cToHexa(Format$(76543210))
  2517.    Tmp2 = "TIME TO WIN"
  2518.    Tmp = Text1.Text
  2519.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2520.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2521.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2522.    Next i
  2523.    cStartBasisTimer
  2524.    For i = 1 To Item
  2525.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2526.    Next i
  2527.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2528.    Label3.Caption = Tmp1
  2529. End Sub
  2530. Sub TestExpandTab ()
  2531.    Dim title      As String
  2532.    Dim Tmp        As String
  2533.    Dim Tmp1       As String
  2534.    Dim Tmp2       As String
  2535.    Dim i          As Integer
  2536.    Dim j          As Integer
  2537.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2538.    title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2539.    Tmp1 = title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2540.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2541.    title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2542.    Tmp1 = Tmp1 & title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2543.    cStartBasisTimer
  2544.    For i = 1 To Item
  2545.       Tmp2 = cExpandTab(Tmp, 3)
  2546.    Next i
  2547.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2548.    Label3.Caption = Tmp1
  2549. End Sub
  2550. Sub TestFileChangeChars ()
  2551.    Dim title      As String
  2552.    Dim Tmp        As String
  2553.    Dim Tmp1       As String
  2554.    Dim Tmp2       As String
  2555.    Dim Tmp3       As String
  2556.    Dim Tmp4       As String
  2557.    Dim i          As Integer
  2558.    Dim j          As Long
  2559.    Tmp1 = ""
  2560.    Tmp = "c:\autoexec.bat"
  2561.    Tmp2 = "c:\autoexec.tab"
  2562.    Tmp3 = "REM"
  2563.    Tmp4 = "rem"
  2564.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2565.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  2566.    cStartBasisTimer
  2567.    For i = 1 To Item
  2568.       If ((i Mod 2) = 1) Then
  2569.      j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  2570.       Else
  2571.      j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  2572.       End If
  2573.    Next i
  2574.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2575.    Label3.Caption = Tmp1
  2576. End Sub
  2577. Sub TestFileCmp ()
  2578.    Dim title      As String
  2579.    Dim Tmp        As String
  2580.    Dim Tmp1       As String
  2581.    Dim Tmp2       As String
  2582.    Dim i          As Integer
  2583.    Dim j          As Integer
  2584.    Tmp1 = ""
  2585.    Tmp = "c:\autoexec.bat"
  2586.    Tmp2 = "c:\tmp\autoexec.bat"
  2587.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  2588.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  2589.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  2590.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  2591.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  2592.    cStartBasisTimer
  2593.    For i = 1 To Item
  2594.       j = cCmpFileSize(Tmp, Tmp2)
  2595.    Next i
  2596.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2597.    cStartBasisTimer
  2598.    For i = 1 To Item
  2599.       j = cCmpFileContents(Tmp, Tmp2, True)
  2600.    Next i
  2601.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2602.    cStartBasisTimer
  2603.    For i = 1 To Item
  2604.       j = cCmpFileContents(Tmp, Tmp2, False)
  2605.    Next i
  2606.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2607.    Label3.Caption = Tmp1
  2608. End Sub
  2609. Sub TestFileCompress ()
  2610.    Dim title      As String
  2611.    Dim Tmp        As String
  2612.    Dim Tmp1       As String
  2613.    Dim Tmp2       As String
  2614.    Dim Tmp3       As String
  2615.    Dim i          As Integer
  2616.    Dim j          As Long
  2617.    Tmp1 = ""
  2618.    Tmp = "c:\autoexec.bat"
  2619.    Tmp2 = "c:\autoexec.tb1"
  2620.    Tmp3 = "c:\autoexec.tb2"
  2621.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  2622.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  2623.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2624.    cStartBasisTimer
  2625.    For i = 1 To Item
  2626.       j = cFileCompress(Tmp, Tmp2)
  2627.    Next i
  2628.    j = cFileExpand(Tmp2, Tmp3)
  2629.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2630.    Label3.Caption = Tmp1
  2631. End Sub
  2632. Sub TestFileCompressTab ()
  2633.    Dim title      As String
  2634.    Dim Tmp        As String
  2635.    Dim Tmp1       As String
  2636.    Dim Tmp2       As String
  2637.    Dim Tmp3       As String
  2638.    Dim i          As Integer
  2639.    Dim j          As Long
  2640.    Tmp1 = ""
  2641.    Tmp = "c:\autoexec.bat"
  2642.    Tmp2 = "c:\autoexec.tb1"
  2643.    Tmp3 = "c:\autoexec.tb2"
  2644.    For i = 1 To 4
  2645.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  2646.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  2647.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2648.    Next i
  2649.    cStartBasisTimer
  2650.    For i = 1 To Item
  2651.       j = cFileCompressTab(Tmp, Tmp2, 3)
  2652.    Next i
  2653.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  2654.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2655.    Label3.Caption = Tmp1
  2656. End Sub
  2657. Sub TestFileCopy ()
  2658.    Dim title      As String
  2659.    Dim Tmp        As String
  2660.    Dim Tmp1       As String
  2661.    Dim Tmp2       As String
  2662.    Dim i          As Integer
  2663.    Dim j          As Long
  2664.    Tmp1 = ""
  2665.    Tmp = "c:\autoexec.bat"
  2666.    Tmp2 = "c:\autoexec.tab"
  2667.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2668.    cStartBasisTimer
  2669.    For i = 1 To Item
  2670.       j = cFileCopy(Tmp, Tmp2)
  2671.    Next i
  2672.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2673.    Label3.Caption = Tmp1
  2674. End Sub
  2675. Sub TestFileCRC32 ()
  2676.    Dim title      As String
  2677.    Dim Tmp        As String
  2678.    Dim Tmp1       As String
  2679.    Dim Tmp2       As String
  2680.    Dim i          As Integer
  2681.    Dim j          As Integer
  2682.    Dim k          As Long
  2683.    Tmp = "c:\config.sys"
  2684.    title = "CRC32 for file '" & Tmp & "' is "
  2685.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2686.    Tmp = "c:\autoexec.bat"
  2687.    title = "CRC32 for file '" & Tmp & "' is "
  2688.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2689.    Tmp = "c:\command.com"
  2690.    title = "CRC32 for file '" & Tmp & "' is "
  2691.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2692.    cStartBasisTimer
  2693.    For i = 1 To ItemFile
  2694.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  2695.    Next i
  2696.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2697.    Label3.Caption = Tmp1
  2698. End Sub
  2699. Sub TestFileEncrypt ()
  2700.    Dim title      As String
  2701.    Dim Tmp        As String
  2702.    Dim Tmp1       As String
  2703.    Dim Tmp2       As String
  2704.    Dim Tmp3       As String
  2705.    Dim Tmp4       As String
  2706.    Dim i          As Integer
  2707.    Dim j          As Long
  2708.    Tmp1 = ""
  2709.    Tmp = "c:\autoexec.bat"
  2710.    Tmp2 = "c:\ac.tb1"
  2711.    Tmp3 = "c:\ac.tb2"
  2712.    Tmp4 = cToHexa(Format$(76543210))
  2713.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2714.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  2715.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  2716.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2717.    Next i
  2718.    cStartBasisTimer
  2719.    For i = 1 To Item
  2720.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  2721.    Next i
  2722.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2723.    Label3.Caption = Tmp1
  2724. End Sub
  2725. Sub TestFileFilter ()
  2726.    Dim title      As String
  2727.    Dim Tmp        As String
  2728.    Dim Tmp1       As String
  2729.    Dim Tmp2       As String
  2730.    Dim Tmp3       As String
  2731.    Dim i          As Integer
  2732.    Dim j          As Long
  2733.    Tmp1 = ""
  2734.    Tmp = "c:\autoexec.bat"
  2735.    Tmp2 = "c:\autoexec.tab"
  2736.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2737.    Tmp3 = Tmp3 + LCase$(Tmp)
  2738.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2739.    cStartBasisTimer
  2740.    For i = 1 To Item
  2741.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  2742.    Next i
  2743.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2744.    Label3.Caption = Tmp1
  2745. End Sub
  2746. Sub TestFileFilterNot ()
  2747.    Dim title      As String
  2748.    Dim Tmp        As String
  2749.    Dim Tmp1       As String
  2750.    Dim Tmp2       As String
  2751.    Dim Tmp3       As String
  2752.    Dim i          As Integer
  2753.    Dim j          As Long
  2754.    Tmp1 = ""
  2755.    Tmp = "c:\autoexec.bat"
  2756.    Tmp2 = "c:\autoexec.tab"
  2757.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2758.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  2759.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2760.    cStartBasisTimer
  2761.    For i = 1 To Item
  2762.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  2763.    Next i
  2764.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2765.    Label3.Caption = Tmp1
  2766. End Sub
  2767. Sub TestFileGetAttrib ()
  2768.    Dim title      As String
  2769.    Dim Tmp        As String
  2770.    Dim Tmp1       As String
  2771.    Dim Tmp2       As String
  2772.    Dim i          As Integer
  2773.    Dim j          As Integer
  2774.    Dim FileAttrib As FileAttributeType
  2775.    Tmp1 = ""
  2776.    Tmp = cFilesInDirectory("*.*", True)
  2777.    j = cFileGetAttrib(Tmp, FileAttrib)
  2778.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2779.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2780.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2781.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2782.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2783.    Tmp = cSubDirectory("*.*", True)
  2784.    Tmp = cSubDirectory("*.*", False)
  2785.    Tmp = cSubDirectory("*.*", False)
  2786.    j = cFileGetAttrib(Tmp, FileAttrib)
  2787.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2788.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2789.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2790.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2791.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2792.    cStartBasisTimer
  2793.    For i = 1 To Item
  2794.       j = cFileGetAttrib(Tmp, FileAttrib)
  2795.    Next i
  2796.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2797.    Label3.Caption = Tmp1
  2798. End Sub
  2799. Sub TestFileLineCount ()
  2800.    Dim title      As String
  2801.    Dim Tmp        As String
  2802.    Dim Tmp1       As String
  2803.    Dim Tmp2       As String
  2804.    Dim Tmp3       As String
  2805.    Dim i          As Integer
  2806.    Dim j          As Long
  2807.    Tmp1 = ""
  2808.    Tmp = "C:\AUTOEXEC.BAT"
  2809.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2810.    Tmp = "C:\CONFIG.SYS"
  2811.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2812.    cStartBasisTimer
  2813.    For i = 1 To Item
  2814.       j = cFileLineCount(Tmp)
  2815.    Next i
  2816.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2817.    Label3.Caption = Tmp1
  2818. End Sub
  2819. Sub TestFileMerge ()
  2820.    Dim title      As String
  2821.    Dim Tmp        As String
  2822.    Dim Tmp1       As String
  2823.    Dim Tmp2       As String
  2824.    Dim Tmp3       As String
  2825.    Dim i          As Integer
  2826.    Dim j          As Long
  2827.    Tmp1 = ""
  2828.    Tmp = "c:\autoexec.bat"
  2829.    Tmp2 = "c:\config.sys"
  2830.    Tmp3 = "c:\merge.byt"
  2831.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2832.    cStartBasisTimer
  2833.    For i = 1 To Item
  2834.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  2835.    Next i
  2836.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2837.    Label3.Caption = Tmp1
  2838. End Sub
  2839. Sub TestFileMergeExt ()
  2840.    Dim title      As String
  2841.    Dim Tmp        As String
  2842.    Dim Tmp1       As String
  2843.    Dim Tmp3       As String
  2844.    Dim i          As Integer
  2845.    Dim j          As Long
  2846.    Dim r          As Integer
  2847.    Dim m1         As Integer
  2848.    Dim m2         As Integer
  2849.    Tmp1 = ""
  2850.    Tmp3 = "c:\mergeext.byt"
  2851.    m1 = 1
  2852.    m2 = 7
  2853.    ReDim AD(m1 To m2 + 1)     As tagVARSTRING
  2854.    ReDim FileArray(m1 To m2)  As tagVARSTRING
  2855.    ' initialization because we use ReDim without Global definition
  2856.    For i = m1 To m2 + 1
  2857.       AD(i).Contents = Space$(256)
  2858.    Next i
  2859.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  2860.    Tmp1 = "Reading the first 7 files in directory 'C:\*.*' into FileArray(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  2861.    For i = m1 To m2
  2862.       FileArray(i).Contents = "C:\" + AD(i).Contents
  2863.       Tmp1 = Tmp1 & "   '" & FileArray(i).Contents & "' (size : " & cFileSize(FileArray(i).Contents) & ")" & Chr$(13)
  2864.    Next i
  2865.    Tmp1 = Tmp1 & Chr$(13)
  2866.    Tmp1 = Tmp1 & "FileMergeExt of the 7 files into '" & Tmp3 & "' is " & cFileMergeExt(FileArray(), Tmp3) & Chr$(13) & Chr$(13)
  2867.    cStartBasisTimer
  2868.    For i = 1 To Item
  2869.       j = cFileMergeExt(FileArray(), Tmp3)
  2870.    Next i
  2871.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2872.    Label3.Caption = Tmp1
  2873. End Sub
  2874. Sub TestFilePathExists ()
  2875.    Dim title      As String
  2876.    Dim Tmp        As String
  2877.    Dim Tmp1       As String
  2878.    Dim Tmp2       As String
  2879.    Dim i          As Integer
  2880.    Dim j          As Integer
  2881.    Tmp1 = "File time2win.dll " & IIf(cFilePathExists("time2win.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2882.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2883.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2884.    cStartBasisTimer
  2885.    For i = 1 To Item
  2886.       j = cFilePathExists("time2win.dll")
  2887.    Next i
  2888.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2889.    Label3.Caption = Tmp1
  2890. End Sub
  2891. Sub TestFileResetAllAttrib ()
  2892.    Dim title      As String
  2893.    Dim Tmp        As String
  2894.    Dim Tmp1       As String
  2895.    Dim Tmp2       As String
  2896.    Dim i          As Integer
  2897.    Dim j          As Integer
  2898.    Dim FileAttrib As FileAttributeType
  2899.    Tmp1 = ""
  2900.    Tmp = "TEST.DAT"
  2901.    Call CreateFile
  2902.    FileAttrib.Archive = False
  2903.    FileAttrib.Hidden = True
  2904.    FileAttrib.ReadOnly = True
  2905.    FileAttrib.System = True
  2906.    j = cFileResetAllAttrib(Tmp)
  2907.    j = cFileGetAttrib(Tmp, FileAttrib)
  2908.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2909.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2910.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2911.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2912.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2913.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2914.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2915.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2916.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2917.    cStartBasisTimer
  2918.    For i = 1 To ItemFile
  2919.       j = cFileResetAllAttrib(Tmp)
  2920.    Next i
  2921.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2922.    Label3.Caption = Tmp1
  2923. End Sub
  2924. Sub TestFileResetArchive ()
  2925.    Dim title      As String
  2926.    Dim Tmp        As String
  2927.    Dim Tmp1       As String
  2928.    Dim Tmp2       As String
  2929.    Dim i          As Integer
  2930.    Dim j          As Integer
  2931.    Dim nArchive   As Integer
  2932.    Dim nHidden    As Integer
  2933.    Dim nReadOnly  As Integer
  2934.    Dim nSubDir    As Integer
  2935.    Dim nSystem    As Integer
  2936.    Dim FileAttrib As FileAttributeType
  2937.    Tmp1 = ""
  2938.    Tmp = "TEST.DAT"
  2939.    Call CreateFile
  2940.    j = cFileSetAllAttrib(Tmp)
  2941.    j = cFileResetArchive(Tmp)
  2942.    j = cFileGetAttrib(Tmp, FileAttrib)
  2943.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2944.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2945.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2946.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2947.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2948.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2949.    cStartBasisTimer
  2950.    For i = 1 To ItemFile
  2951.       j = cFileResetArchive(Tmp)
  2952.    Next i
  2953.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2954.    Label3.Caption = Tmp1
  2955. End Sub
  2956. Sub TestFileResetHidden ()
  2957.    Dim title      As String
  2958.    Dim Tmp        As String
  2959.    Dim Tmp1       As String
  2960.    Dim Tmp2       As String
  2961.    Dim i          As Integer
  2962.    Dim j          As Integer
  2963.    Dim nArchive   As Integer
  2964.    Dim nHidden    As Integer
  2965.    Dim nReadOnly  As Integer
  2966.    Dim nSubDir    As Integer
  2967.    Dim nSystem    As Integer
  2968.    Dim FileAttrib As FileAttributeType
  2969.    Tmp1 = ""
  2970.    Tmp = "TEST.DAT"
  2971.    Call CreateFile
  2972.    j = cFileSetAllAttrib(Tmp)
  2973.    j = cFileResetHidden(Tmp)
  2974.    j = cFileGetAttrib(Tmp, FileAttrib)
  2975.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2976.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  2977.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2978.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2979.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2980.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2981.    cStartBasisTimer
  2982.    For i = 1 To ItemFile
  2983.       j = cFileResetHidden(Tmp)
  2984.    Next i
  2985.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2986.    Label3.Caption = Tmp1
  2987. End Sub
  2988. Sub TestFileResetReadOnly ()
  2989.    Dim title      As String
  2990.    Dim Tmp        As String
  2991.    Dim Tmp1       As String
  2992.    Dim Tmp2       As String
  2993.    Dim i          As Integer
  2994.    Dim j          As Integer
  2995.    Dim FileAttrib As FileAttributeType
  2996.    Dim nArchive   As Integer
  2997.    Dim nHidden    As Integer
  2998.    Dim nReadOnly  As Integer
  2999.    Dim nSubDir    As Integer
  3000.    Dim nSystem    As Integer
  3001.    Tmp1 = ""
  3002.    Tmp = "TEST.DAT"
  3003.    Call CreateFile
  3004.    j = cFileSetAllAttrib(Tmp)
  3005.    j = cFileResetReadOnly(Tmp)
  3006.    j = cFileGetAttrib(Tmp, FileAttrib)
  3007.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3008.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3009.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3010.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3011.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3012.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3013.    cStartBasisTimer
  3014.    For i = 1 To ItemFile
  3015.       j = cFileResetReadOnly(Tmp)
  3016.    Next i
  3017.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3018.    Label3.Caption = Tmp1
  3019. End Sub
  3020. Sub TestFileResetSystem ()
  3021.    Dim title      As String
  3022.    Dim Tmp        As String
  3023.    Dim Tmp1       As String
  3024.    Dim Tmp2       As String
  3025.    Dim i          As Integer
  3026.    Dim j          As Integer
  3027.    Dim FileAttrib As FileAttributeType
  3028.    Tmp1 = ""
  3029.    Tmp = "TEST.DAT"
  3030.    Call CreateFile
  3031.    j = cFileSetAllAttrib(Tmp)
  3032.    j = cFileResetSystem(Tmp)
  3033.    j = cFileGetAttrib(Tmp, FileAttrib)
  3034.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3035.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3036.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3037.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3038.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3039.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3040.    cStartBasisTimer
  3041.    For i = 1 To ItemFile
  3042.       j = cFileResetSystem(Tmp)
  3043.    Next i
  3044.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3045.    Label3.Caption = Tmp1
  3046. End Sub
  3047. Sub TestFileS ()
  3048.    Dim title      As String
  3049.    Dim Tmp        As String
  3050.    Dim Tmp1       As String
  3051.    Dim Tmp2       As String
  3052.    Dim Tmp3       As String
  3053.    Dim Tmp4       As String
  3054.    Dim i          As Integer
  3055.    Dim j          As Long
  3056.    Tmp1 = ""
  3057.    Tmp = "c:\autoexec.bat"
  3058.    Tmp3 = "re"
  3059.    Tmp4 = "SET"
  3060.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3061.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3062.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3063.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3064.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3065.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3066.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3067.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3068.    cStartBasisTimer
  3069.    For i = 1 To Item
  3070.       If ((i Mod 2) = 1) Then
  3071.      j = cFileSearch(Tmp, Tmp3, False)
  3072.       Else
  3073.      j = cFileSearchCount(Tmp, Tmp3, False)
  3074.       End If
  3075.    Next i
  3076.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3077.    Label3.Caption = Tmp1
  3078. End Sub
  3079. Sub TestFileSetAllAttrib ()
  3080.    Dim title      As String
  3081.    Dim Tmp        As String
  3082.    Dim Tmp1       As String
  3083.    Dim Tmp2       As String
  3084.    Dim i          As Integer
  3085.    Dim j          As Integer
  3086.    Dim FileAttrib As FileAttributeType
  3087.    Tmp1 = ""
  3088.    Tmp = "TEST.DAT"
  3089.    Call CreateFile
  3090.    j = cFileSetAllAttrib(Tmp)
  3091.    j = cFileGetAttrib(Tmp, FileAttrib)
  3092.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3093.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3094.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3095.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3096.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3097.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3098.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3099.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3100.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3101.    cStartBasisTimer
  3102.    For i = 1 To ItemFile
  3103.       j = cFileSetAllAttrib(Tmp)
  3104.    Next i
  3105.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3106.    Label3.Caption = Tmp1
  3107. End Sub
  3108. Sub TestFileSetArchive ()
  3109.    Dim title      As String
  3110.    Dim Tmp        As String
  3111.    Dim Tmp1       As String
  3112.    Dim Tmp2       As String
  3113.    Dim i          As Integer
  3114.    Dim j          As Integer
  3115.    Dim FileAttrib As FileAttributeType
  3116.    Tmp1 = ""
  3117.    Tmp = "TEST.DAT"
  3118.    Call CreateFile
  3119.    j = cFileSetArchive(Tmp)
  3120.    j = cFileGetAttrib(Tmp, FileAttrib)
  3121.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3122.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3123.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3124.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3125.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3126.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3127.    cStartBasisTimer
  3128.    For i = 1 To ItemFile
  3129.       j = cFileSetArchive(Tmp)
  3130.    Next i
  3131.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3132.    Label3.Caption = Tmp1
  3133. End Sub
  3134. Sub TestFileSetAttrib ()
  3135.    Dim title      As String
  3136.    Dim Tmp        As String
  3137.    Dim Tmp1       As String
  3138.    Dim Tmp2       As String
  3139.    Dim i          As Integer
  3140.    Dim j          As Integer
  3141.    Dim FileAttrib As FileAttributeType
  3142.    Tmp1 = ""
  3143.    Tmp = "TEST.DAT"
  3144.    Call CreateFile
  3145.    FileAttrib.Archive = False
  3146.    FileAttrib.Hidden = True
  3147.    FileAttrib.ReadOnly = True
  3148.    FileAttrib.System = True
  3149.    j = cFileSetAttrib(Tmp, FileAttrib)
  3150.    j = cFileGetAttrib(Tmp, FileAttrib)
  3151.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3152.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3153.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3154.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3155.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3156.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3157.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3158.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3159.    cStartBasisTimer
  3160.    For i = 1 To ItemFile
  3161.       j = cFileSetAttrib(Tmp, FileAttrib)
  3162.    Next i
  3163.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3164.    Label3.Caption = Tmp1
  3165. End Sub
  3166. Sub TestFileSetHidden ()
  3167.    Dim title      As String
  3168.    Dim Tmp        As String
  3169.    Dim Tmp1       As String
  3170.    Dim Tmp2       As String
  3171.    Dim i          As Integer
  3172.    Dim j          As Integer
  3173.    Dim FileAttrib As FileAttributeType
  3174.    Tmp1 = ""
  3175.    Tmp = "TEST.DAT"
  3176.    Call CreateFile
  3177.    j = cFileSetHidden(Tmp)
  3178.    j = cFileGetAttrib(Tmp, FileAttrib)
  3179.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3180.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3181.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3182.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3183.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3184.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3185.    cStartBasisTimer
  3186.    For i = 1 To ItemFile
  3187.       j = cFileSetHidden(Tmp)
  3188.    Next i
  3189.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3190.    Label3.Caption = Tmp1
  3191. End Sub
  3192. Sub TestFileSetReadOnly ()
  3193.    Dim title      As String
  3194.    Dim Tmp        As String
  3195.    Dim Tmp1       As String
  3196.    Dim Tmp2       As String
  3197.    Dim i          As Integer
  3198.    Dim j          As Integer
  3199.    Dim FileAttrib As FileAttributeType
  3200.    Tmp1 = ""
  3201.    Tmp = "TEST.DAT"
  3202.    Call CreateFile
  3203.    j = cFileSetReadOnly(Tmp)
  3204.    j = cFileGetAttrib(Tmp, FileAttrib)
  3205.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3206.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3207.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3208.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3209.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3210.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3211.    cStartBasisTimer
  3212.    For i = 1 To ItemFile
  3213.       j = cFileSetReadOnly(Tmp)
  3214.    Next i
  3215.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3216.    Label3.Caption = Tmp1
  3217. End Sub
  3218. Sub TestFileSetSystem ()
  3219.    Dim title      As String
  3220.    Dim Tmp        As String
  3221.    Dim Tmp1       As String
  3222.    Dim Tmp2       As String
  3223.    Dim i          As Integer
  3224.    Dim j          As Integer
  3225.    Dim FileAttrib As FileAttributeType
  3226.    Tmp1 = ""
  3227.    Tmp = "TEST.DAT"
  3228.    Call CreateFile
  3229.    j = cFileSetSystem(Tmp)
  3230.    j = cFileGetAttrib(Tmp, FileAttrib)
  3231.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3232.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3233.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3234.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3235.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3236.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3237.    cStartBasisTimer
  3238.    For i = 1 To ItemFile
  3239.       j = cFileSetSystem(Tmp)
  3240.    Next i
  3241.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3242.    Label3.Caption = Tmp1
  3243. End Sub
  3244. Sub TestFilesInDirectory ()
  3245.    Dim title      As String
  3246.    Dim Tmp        As String
  3247.    Dim Tmp1       As String
  3248.    Dim Tmp2       As String
  3249.    Dim i          As Integer
  3250.    Dim j          As Integer
  3251.    Dim k          As Long
  3252.    title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3253.    Tmp1 = title
  3254.    Tmp2 = cFilesInDirectory("*.*", True)
  3255.    For i = 1 To 10
  3256.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3257.       Tmp2 = cFilesInDirectory("*.*", False)
  3258.    Next i
  3259.    Tmp1 = Tmp1 & Chr$(13)
  3260.    cStartBasisTimer
  3261.    For i = 1 To Item
  3262.       Tmp = cFilesInDirectory("*.*", True)
  3263.    Next i
  3264.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3265.    Label3.Caption = Tmp1
  3266. End Sub
  3267. Sub TestFilesInDirOnDisk ()
  3268.    Dim title      As String
  3269.    Dim Tmp        As String
  3270.    Dim Tmp1       As String
  3271.    Dim Tmp2       As String
  3272.    Dim i          As Integer
  3273.    Dim j          As Integer
  3274.    Dim k          As Long
  3275.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3276.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & Chr$(13) & Chr$(13)
  3277.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3278.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3279.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & Chr$(13) & Chr$(13)
  3280.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3281.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & Chr$(13) & Chr$(13)
  3282.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & Chr$(13)
  3283.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & Chr$(13)
  3284.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & Chr$(13)
  3285.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & Chr$(13)
  3286.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & Chr$(13)
  3287.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & Chr$(13)
  3288.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & Chr$(13)
  3289.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & Chr$(13)
  3290.    Tmp1 = Tmp1 & Chr$(13)
  3291.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & Chr$(13) & Chr$(13)
  3292.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & Chr$(13)
  3293.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & Chr$(13)
  3294.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & Chr$(13)
  3295.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3296.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3297.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & Chr$(13)
  3298.    Tmp1 = Tmp1 & Chr$(13)
  3299.    cStartBasisTimer
  3300.    For i = 1 To Item
  3301.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3302.    Next i
  3303.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3304.    Label3.Caption = Tmp1
  3305. End Sub
  3306. Sub TestFilesInDirToArray ()
  3307.    Dim title      As String
  3308.    Dim Tmp        As String
  3309.    Dim Tmp1       As String
  3310.    Dim Tmp2       As String
  3311.    Dim i          As Long
  3312.    Dim r          As Integer
  3313.    Dim m1         As Integer
  3314.    Dim m2         As Integer
  3315.    m1 = -999
  3316.    m2 = 1000
  3317.    ReDim AD(m1 To m2)         As tagVARSTRING
  3318.    ' initialization because we use ReDim without Global definition
  3319.    For i = m1 To m2
  3320.       AD(i).Contents = Space$(256)
  3321.    Next i
  3322.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3323.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3324.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3325.    For i = 0 To 2
  3326.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  3327.    Next i
  3328.    Tmp1 = Tmp1 & Chr$(13)
  3329.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3330.    For i = 0 To 2
  3331.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i).Contents & Chr$(13)
  3332.    Next i
  3333.    Tmp1 = Tmp1 & Chr$(13)
  3334.    r = cArrayToListBox(List1.hWnd, AD())
  3335.    Tmp2 = cGetDefaultCurrentDir()
  3336.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  3337.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3338.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3339.    For i = 0 To 2
  3340.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  3341.    Next i
  3342.    Tmp1 = Tmp1 & Chr$(13)
  3343.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3344.    For i = 0 To 2
  3345.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i).Contents & Chr$(13)
  3346.    Next i
  3347.    r = cArrayToListBox(List2.hWnd, AD())
  3348.    cStartBasisTimer
  3349.    For i = 1 To Item
  3350.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3351.    Next i
  3352.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3353.    Label3.Caption = Tmp1
  3354. End Sub
  3355. Sub TestFilesInfoInDir ()
  3356.    Dim title      As String
  3357.    Dim Tmp        As String
  3358.    Dim Tmp1       As String
  3359.    Dim Tmp2       As String
  3360.    Dim i          As Integer
  3361.    Dim j          As Integer
  3362.    Dim k          As Long
  3363.    Dim FI         As tagFILEINFO
  3364.    title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & Chr$(13) & Chr$(13)
  3365.    Tmp1 = title
  3366.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  3367.    For i = 1 To 7
  3368.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & Chr$(13)
  3369.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  3370.    Next i
  3371.    Tmp1 = Tmp1 & Chr$(13)
  3372.    cStartBasisTimer
  3373.    For i = 1 To Item
  3374.       Tmp = cFilesInfoInDir("*.*", FI, True)
  3375.    Next i
  3376.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3377.    Label3.Caption = Tmp1
  3378. End Sub
  3379. Sub TestFileSize ()
  3380.    Dim title      As String
  3381.    Dim Tmp        As String
  3382.    Dim Tmp1       As String
  3383.    Dim Tmp2       As String
  3384.    Dim i          As Integer
  3385.    Dim j          As Integer
  3386.    Dim k          As Long
  3387.    Tmp1 = "File size for time2win.dll is " & cFileSize("time2win.dll") & Chr$(13) & Chr$(13)
  3388.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  3389.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  3390.    cStartBasisTimer
  3391.    For i = 1 To Item
  3392.       k = cFileSize("time2win.dll")
  3393.    Next i
  3394.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3395.    Label3.Caption = Tmp1
  3396. End Sub
  3397. Sub TestFileSort (SortMethod As Integer, VarFix As Integer)
  3398.    Dim title      As String
  3399.    Dim Tmp        As String
  3400.    Dim Tmp1       As String
  3401.    Dim Tmp2       As String
  3402.    Dim Tmp3       As String
  3403.    Dim i          As Integer
  3404.    Dim j          As Integer
  3405.    Dim n          As Integer
  3406.    Dim m          As Double
  3407.    Tmp = "c:\autoexec.bat"
  3408.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  3409.    Close #1
  3410.    Open Tmp For Input Shared As #1
  3411.    While Not EOF(1)
  3412.       Line Input #1, Tmp3
  3413.       List1.AddItem Tmp3
  3414.    Wend
  3415.    Close #1
  3416.    If (VarFix = False) Then
  3417.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, n)
  3418.    Else
  3419.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  3420.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, n)
  3421.    End If
  3422.    Close #1
  3423.    Open Tmp2 For Input Shared As #1
  3424.    While Not EOF(1)
  3425.       Line Input #1, Tmp3
  3426.       List2.AddItem Tmp3
  3427.    Wend
  3428.    Close #1
  3429.    Select Case SortMethod
  3430.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  3431.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & n & "'"
  3432.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  3433.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & n & "'"
  3434.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  3435.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & n & "'"
  3436.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  3437.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & n & "'"
  3438.    End Select
  3439.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3440.    cStartBasisTimer
  3441.    For i = 1 To ItemFile
  3442.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, n)
  3443.       DoEvents
  3444.    Next i
  3445.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3446.    Label3.Caption = Tmp1
  3447. End Sub
  3448. Sub TestFileSR ()
  3449.    Dim title      As String
  3450.    Dim Tmp        As String
  3451.    Dim Tmp1       As String
  3452.    Dim Tmp2       As String
  3453.    Dim Tmp3       As String
  3454.    Dim Tmp4       As String
  3455.    Dim i          As Integer
  3456.    Dim j          As Long
  3457.    Tmp1 = ""
  3458.    Tmp = "c:\autoexec.bat"
  3459.    Tmp2 = "c:\autoexec.tab"
  3460.    Tmp3 = "SET "
  3461.    Tmp4 = "rem SET "
  3462.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3463.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  3464.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  3465.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  3466.    cStartBasisTimer
  3467.    For i = 1 To Item
  3468.       If ((i Mod 2) = 1) Then
  3469.      j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  3470.       Else
  3471.      j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  3472.       End If
  3473.    Next i
  3474.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3475.    Label3.Caption = Tmp1
  3476. End Sub
  3477. Sub TestFilesSize ()
  3478.    Dim title      As String
  3479.    Dim Tmp        As String
  3480.    Dim Tmp1       As String
  3481.    Dim Tmp2       As String
  3482.    Dim i          As Integer
  3483.    Dim j          As Integer
  3484.    Dim k          As Long
  3485.    Dim Size1      As Double
  3486.    Dim Size2      As Double
  3487.    Tmp1 = ""
  3488.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  3489.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  3490.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  3491.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  3492.    Tmp1 = Tmp1 & Chr$(13)
  3493.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  3494.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  3495.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  3496.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  3497.    Tmp1 = Tmp1 & Chr$(13)
  3498.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  3499.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  3500.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  3501.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  3502.    cStartBasisTimer
  3503.    For i = 1 To 10
  3504.       k = cFilesSize("c:\*.*")
  3505.    Next i
  3506.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  3507.    Label3.Caption = Tmp1
  3508. End Sub
  3509. Sub TestFileStatictics ()
  3510.    Dim title      As String
  3511.    Dim Tmp        As String
  3512.    Dim Tmp1       As String
  3513.    Dim Tmp2       As String
  3514.    Dim Tmp3       As String
  3515.    Dim Tmp4       As String
  3516.    Dim i          As Integer
  3517.    Dim j          As Long
  3518.    Dim nL         As Long
  3519.    Dim nW         As Long
  3520.    Dim nC         As Long
  3521.    Tmp1 = ""
  3522.    Tmp = "c:\autoexec.bat"
  3523.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3524.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3525.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3526.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3527.    Tmp = "c:\config.sys"
  3528.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3529.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3530.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3531.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3532.    cStartBasisTimer
  3533.    For i = 1 To Item
  3534.       j = cFileStatistics(Tmp, nL, nW, nC)
  3535.    Next i
  3536.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3537.    Label3.Caption = Tmp1
  3538. End Sub
  3539. Sub TestFileStatistic ()
  3540.    Dim title      As String
  3541.    Dim Tmp        As String
  3542.    Dim Tmp1       As String
  3543.    Dim Tmp2       As String
  3544.    Dim i          As Integer
  3545.    Dim j          As Integer
  3546.    Dim k          As Long
  3547.    Tmp1 = "File drive for time2win.dll is " & cFileDrive("time2win.dll") & Chr$(13) & Chr$(13)
  3548.    Tmp1 = Tmp1 & "File last time modified for time2win.dll is " & cFileLastTimeModified("time2win.dll") & Chr$(13) & Chr$(13)
  3549.    Tmp1 = Tmp1 & "File last date modified for time2win.dll is " & cFileLastDateModified("time2win.dll") & Chr$(13) & Chr$(13)
  3550.    cStartBasisTimer
  3551.    For i = 1 To ItemFile
  3552.       Tmp = cFileDrive("time2win.dll")
  3553.    Next i
  3554.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3555.    Label3.Caption = Tmp1
  3556. End Sub
  3557. Sub TestFileToX ()
  3558.    Dim title      As String
  3559.    Dim Tmp        As String
  3560.    Dim Tmp1       As String
  3561.    Dim Tmp2       As String
  3562.    Dim Tmp3       As String
  3563.    Dim i          As Integer
  3564.    Dim j          As Long
  3565.    Tmp1 = ""
  3566.    Tmp = "c:\autoexec.bat"
  3567.    Tmp2 = "c:\autoexec.lwr"
  3568.    Tmp3 = "c:\autoexec.upr"
  3569.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3570.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  3571.    cStartBasisTimer
  3572.    For i = 1 To Item
  3573.       j = cFileToLower(Tmp, Tmp2)
  3574.    Next i
  3575.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3576.    Label3.Caption = Tmp1
  3577. End Sub
  3578. Sub TestFileUUCP ()
  3579.    Dim title      As String
  3580.    Dim Tmp        As String
  3581.    Dim Tmp1       As String
  3582.    Dim Tmp2       As String
  3583.    Dim Tmp3       As String
  3584.    Dim i          As Integer
  3585.    Dim j          As Long
  3586.    Tmp1 = ""
  3587.    Tmp = "c:\autoexec.bat"
  3588.    Tmp2 = "c:\autoexec.ue1"
  3589.    Tmp3 = "c:\autoexec.ud2"
  3590.    Tmp1 = Tmp1 & "File UUencode '" & Tmp & "' to '" & Tmp2 & "' is " & cFileUUCP(Tmp, Tmp2, MODE_UUENCODE) & Chr$(13)
  3591.    Tmp1 = Tmp1 & "File UUdecode '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileUUCP(Tmp2, Tmp3, MODE_UUDECODE) & Chr$(13)
  3592.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3593.    cStartBasisTimer
  3594.    For i = 1 To Item
  3595.       j = cFileUUCP(Tmp, Tmp2, MODE_UUENCODE)
  3596.    Next i
  3597.    j = cFileUUCP(Tmp2, Tmp3, MODE_UUDECODE)
  3598.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3599.    Label3.Caption = Tmp1
  3600. End Sub
  3601. Sub TestFileVersion ()
  3602.    Dim title      As String
  3603.    Dim Tmp        As String
  3604.    Dim Tmp1       As String
  3605.    Dim Tmp2       As String
  3606.    Dim i          As Integer
  3607.    Dim j          As Integer
  3608.    Dim k          As Long
  3609.    Dim Status                 As Integer
  3610.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3611.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3612.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3613.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3614.    Next i
  3615.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3616.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3617.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3618.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3619.    Next i
  3620.    cStartBasisTimer
  3621.    For i = 1 To ItemFile
  3622.       Tmp = cGetFileVersion(Tmp, -1)
  3623.    Next i
  3624.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3625.    Label3.Caption = Tmp1
  3626. End Sub
  3627. Sub TestFileVersionInfo ()
  3628.    Dim title      As String
  3629.    Dim Tmp        As String
  3630.    Dim Tmp1       As String
  3631.    Dim Tmp2       As String
  3632.    Dim i          As Integer
  3633.    Dim j          As Integer
  3634.    Dim k          As Long
  3635.    Dim Status                 As Integer
  3636.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  3637.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3638.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3639.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3640.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3641.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3642.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3643.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3644.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3645.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3646.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3647.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3648.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3649.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3650.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3651.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3652.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3653.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3654.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3655.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3656.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3657.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3658.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3659.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3660.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3661.    cStartBasisTimer
  3662.    For i = 1 To ItemFile
  3663.       Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3664.    Next i
  3665.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3666.    Label3.Caption = Tmp1
  3667. End Sub
  3668. Sub TestFill ()
  3669.    Dim title      As String
  3670.    Dim Tmp        As String
  3671.    Dim Tmp1       As String
  3672.    Dim Tmp2       As String
  3673.    Dim i          As Integer
  3674.    Dim j          As Integer
  3675.    Tmp = Text1.Text
  3676.    title = "Fill of [" & Tmp & "] with [*=] is "
  3677.    Call cFill(Tmp, "*=")
  3678.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  3679.    cStartBasisTimer
  3680.    For i = 1 To Item
  3681.       Call cFill(Tmp, "=*")
  3682.    Next i
  3683.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3684.    Label3.Caption = Tmp1
  3685. End Sub
  3686. Sub TestFillI ()
  3687.    Dim title      As String
  3688.    Dim Tmp        As String
  3689.    Dim Tmp1       As String
  3690.    Dim Tmp2       As String
  3691.    Dim i          As Integer
  3692.    Dim j          As Integer
  3693.    Dim m          As Double
  3694.    ReDim array(ItemMean) As Integer
  3695.    Randomize Timer
  3696.    For i = LBound(array) To UBound(array)
  3697.       array(i) = 0
  3698.       List1.AddItem "" & array(i)
  3699.    Next i
  3700.    j = cFillI(array(), 1)
  3701.    For i = LBound(array) To UBound(array)
  3702.       List2.AddItem "" & array(i)
  3703.    Next i
  3704.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3705.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3706.    cStartBasisTimer
  3707.    For i = 1 To ItemFile
  3708.       j = cFillI(array(), 1)
  3709.    Next i
  3710.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3711.    Label3.Caption = Tmp1
  3712. End Sub
  3713. Sub TestFillIncrI ()
  3714.    Dim title      As String
  3715.    Dim Tmp        As String
  3716.    Dim Tmp1       As String
  3717.    Dim Tmp2       As String
  3718.    Dim i          As Integer
  3719.    Dim j          As Integer
  3720.    Dim m          As Double
  3721.    ReDim array(ItemMean) As Integer
  3722.    Randomize Timer
  3723.    For i = LBound(array) To UBound(array)
  3724.       array(i) = 0
  3725.       List1.AddItem "" & array(i)
  3726.    Next i
  3727.    j = cFillIncrI(array(), -2, 3)
  3728.    For i = LBound(array) To UBound(array)
  3729.       List2.AddItem "" & array(i)
  3730.    Next i
  3731.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3732.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3733.    cStartBasisTimer
  3734.    For i = 1 To ItemFile
  3735.       j = cFillIncrI(array(), 1, 3)
  3736.    Next i
  3737.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3738.    Label3.Caption = Tmp1
  3739. End Sub
  3740. Sub TestFilterBlocks ()
  3741.    Dim title      As String
  3742.    Dim Tmp        As String
  3743.    Dim Tmp1       As String
  3744.    Dim Tmp2       As String
  3745.    Dim i          As Integer
  3746.    Dim j          As Integer
  3747.    Tmp = Text1.Text
  3748.    title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3749.    Tmp1 = title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  3750.    title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3751.    Tmp1 = Tmp1 & title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  3752.    cStartBasisTimer
  3753.    For i = 1 To Item
  3754.       Tmp2 = cFilterBlocks(Tmp, "//")
  3755.    Next i
  3756.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3757.    Label3.Caption = Tmp1
  3758. End Sub
  3759. Sub TestFilterChars ()
  3760.    Dim title      As String
  3761.    Dim Tmp        As String
  3762.    Dim Tmp1       As String
  3763.    Dim Tmp2       As String
  3764.    Dim i          As Integer
  3765.    Dim j          As Integer
  3766.    Tmp = Text1.Text
  3767.    title = "Filter 'B','/' in [" & Tmp & "] is "
  3768.    Tmp1 = title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  3769.    cStartBasisTimer
  3770.    For i = 1 To Item
  3771.       Tmp2 = cFilterChars(Tmp, "B/")
  3772.    Next i
  3773.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3774.    Label3.Caption = Tmp1
  3775. End Sub
  3776. Sub TestFindBitReset ()
  3777.    Dim title      As String
  3778.    Dim Tmp        As String
  3779.    Dim Tmp1       As String
  3780.    Dim Tmp2       As String
  3781.    Dim i          As Integer
  3782.    Dim j          As Integer
  3783.    Tmp = Text1.Text
  3784.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  3785.    j = True
  3786.    Do
  3787.       j = cFindBitReset(Tmp, j)
  3788.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3789.    Loop Until (j = True)
  3790.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3791.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3792.    j = 0
  3793.    cStartBasisTimer
  3794.    For i = 1 To Item
  3795.       j = cFindBitReset(Tmp, j)
  3796.    Next i
  3797.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3798.    Label3.Caption = Tmp1
  3799. End Sub
  3800. Sub TestFindBitSet ()
  3801.    Dim title      As String
  3802.    Dim Tmp        As String
  3803.    Dim Tmp1       As String
  3804.    Dim Tmp2       As String
  3805.    Dim i          As Integer
  3806.    Dim j          As Integer
  3807.    Tmp = Text1.Text
  3808.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  3809.    j = True
  3810.    Do
  3811.       j = cFindBitSet(Tmp, j)
  3812.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3813.    Loop Until (j = True)
  3814.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3815.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3816.    j = 0
  3817.    cStartBasisTimer
  3818.    For i = 1 To Item
  3819.       j = cFindBitSet(Tmp, j)
  3820.    Next i
  3821.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3822.    Label3.Caption = Tmp1
  3823. End Sub
  3824. Sub TestFindFileInEnv ()
  3825.    Dim title      As String
  3826.    Dim Tmp        As String
  3827.    Dim Tmp1       As String
  3828.    Dim Tmp2       As String
  3829.    Dim i          As Integer
  3830.    Dim j          As Integer
  3831.    j = cFindFileInEnv("win.com", "windir")
  3832.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  3833.    cStartBasisTimer
  3834.    For i = 1 To ItemFile
  3835.       j = cFindFileInEnv("win.com", "windir")
  3836.    Next i
  3837.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3838.    Label3.Caption = Tmp1
  3839. End Sub
  3840. Sub TestFindFileInPath ()
  3841.    Dim title      As String
  3842.    Dim Tmp        As String
  3843.    Dim Tmp1       As String
  3844.    Dim Tmp2       As String
  3845.    Dim i          As Integer
  3846.    Dim j          As Integer
  3847.    j = cFindFileInPath("win.com")
  3848.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  3849.    cStartBasisTimer
  3850.    For i = 1 To ItemFile
  3851.       j = cFindFileInPath("win.com")
  3852.    Next i
  3853.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3854.    Label3.Caption = Tmp1
  3855. End Sub
  3856. Sub TestFloppyInfo ()
  3857.    Dim title      As String
  3858.    Dim Tmp        As String
  3859.    Dim Tmp1       As String
  3860.    Dim Tmp2       As String
  3861.    Dim i          As Integer
  3862.    Dim j          As Integer
  3863.    Dim nHds       As Integer
  3864.    Dim nCyls      As Integer
  3865.    Dim nSecs      As Integer
  3866.    Tmp1 = ""
  3867.    For i = 1 To 3
  3868.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  3869.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  3870.    Next i
  3871.    Tmp1 = Tmp1 + Chr$(13)
  3872.    cStartBasisTimer
  3873.    For i = 1 To Item
  3874.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  3875.    Next i
  3876.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3877.    Label3.Caption = Tmp1
  3878. End Sub
  3879. Sub TestFraction ()
  3880.    Dim title      As String
  3881.    Dim Tmp        As String
  3882.    Dim Tmp1       As String
  3883.    Dim Tmp2       As String
  3884.    Dim i          As Integer
  3885.    Dim v          As Double
  3886.    Dim n          As Double
  3887.    Dim p          As Double
  3888.    Dim q          As Double
  3889.    Dim e          As Integer
  3890.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & Chr$(13) & Chr$(13)
  3891.    n = .75
  3892.    v = cFraction(n, p, q)
  3893.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3894.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3895.    n = 4.12
  3896.    v = cFraction(n, p, q)
  3897.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3898.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3899.    n = 365.25
  3900.    v = cFraction(n, p, q)
  3901.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3902.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3903.    n = 3.14
  3904.    v = cFraction(n, p, q)
  3905.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3906.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3907.    n = 3.14159
  3908.    v = cFraction(n, p, q)
  3909.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3910.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3911.    n = 3.14159265
  3912.    v = cFraction(n, p, q)
  3913.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3914.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3915.    n = .9999999
  3916.    v = cFraction(n, p, q)
  3917.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3918.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3919.    cStartBasisTimer
  3920.    For i = 1 To Item
  3921.       v = cFraction(n, p, q)
  3922.    Next i
  3923.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3924.    Label3.Caption = Tmp1
  3925. End Sub
  3926. Sub TestFullPath ()
  3927.    Dim title      As String
  3928.    Dim Tmp        As String
  3929.    Dim Tmp1       As String
  3930.    Dim Tmp2       As String
  3931.    Dim Tmp3       As String
  3932.    Dim i          As Integer
  3933.    Dim j          As Long
  3934.    Tmp1 = ""
  3935.    Tmp = "C:\AUTOEXEC.BAT"
  3936.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3937.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  3938.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3939.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  3940.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3941.    cStartBasisTimer
  3942.    For i = 1 To Item
  3943.       Tmp = cFullPath(Tmp)
  3944.    Next i
  3945.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3946.    Label3.Caption = Tmp1
  3947. End Sub
  3948. Sub TestGetBit ()
  3949.    Dim title      As String
  3950.    Dim Tmp        As String
  3951.    Dim Tmp1       As String
  3952.    Dim Tmp2       As String
  3953.    Dim i          As Integer
  3954.    Dim j          As Integer
  3955.    Tmp = Text1.Text
  3956.    title = "bit 0,7,3 of [" & Tmp & "] is "
  3957.    Tmp1 = title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  3958.    title = "bit 23,30,38 of [" & Tmp & "] is "
  3959.    Tmp1 = Tmp1 & title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  3960.    cStartBasisTimer
  3961.    For i = 1 To Item
  3962.       j = cGetBit(Tmp, i)
  3963.    Next i
  3964.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3965.    Label3.Caption = Tmp1
  3966. End Sub
  3967. Sub TestGetBitValue ()
  3968.    Dim intResult        As Integer
  3969.    Dim strResult        As String
  3970.    Dim strDisplay       As String
  3971.    Dim iData            As Integer
  3972.    Dim lData            As Long
  3973.    Dim sData            As Single
  3974.    Dim dData            As Double
  3975.    Dim i                As Integer
  3976.    intResult = 0
  3977.    strResult = ""
  3978.    strDisplay = ""
  3979.    Call cRndInit(-1)
  3980.    iData = Abs(cRndI())
  3981.    lData = Abs(cRndL())
  3982.    sData = Abs(cRndS())
  3983.    dData = Abs(cRndD())
  3984.      
  3985.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  3986.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitI(iData, 0), "set", "reset") & Chr$(13)
  3987.    strDisplay = strDisplay + "   bit 3 is " & IIf(cGetBitI(iData, 3), "set", "reset") & Chr$(13)
  3988.    strDisplay = strDisplay + "   bit 7 is " & IIf(cGetBitI(iData, 7), "set", "reset") & Chr$(13)
  3989.    strDisplay = strDisplay + "   bit 11 is " & IIf(cGetBitI(iData, 11), "set", "reset") & Chr$(13)
  3990.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitI(iData, 15), "set", "reset") & Chr$(13) & Chr$(13)
  3991.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  3992.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitL(lData, 0), "set", "reset") & Chr$(13)
  3993.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitL(lData, 5), "set", "reset") & Chr$(13)
  3994.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitL(lData, 10), "set", "reset") & Chr$(13)
  3995.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitL(lData, 15), "set", "reset") & Chr$(13)
  3996.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitL(lData, 20), "set", "reset") & Chr$(13) & Chr$(13)
  3997.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  3998.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitS(sData, 0), "set", "reset") & Chr$(13)
  3999.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitS(sData, 5), "set", "reset") & Chr$(13)
  4000.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitS(sData, 10), "set", "reset") & Chr$(13)
  4001.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitS(sData, 15), "set", "reset") & Chr$(13)
  4002.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitS(sData, 20), "set", "reset") & Chr$(13) & Chr$(13)
  4003.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  4004.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitD(dData, 0), "set", "reset") & Chr$(13)
  4005.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitD(dData, 10), "set", "reset") & Chr$(13)
  4006.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitD(dData, 20), "set", "reset") & Chr$(13)
  4007.    strDisplay = strDisplay + "   bit 30 is " & IIf(cGetBitD(dData, 30), "set", "reset") & Chr$(13)
  4008.    strDisplay = strDisplay + "   bit 40 is " & IIf(cGetBitD(dData, 40), "set", "reset") & Chr$(13) & Chr$(13)
  4009.    'time the function
  4010.    cStartBasisTimer
  4011.    For i = 1 To ItemFile
  4012.       intResult = cGetBitI(iData, i)
  4013.    Next i
  4014.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4015.    Label3.Caption = strDisplay
  4016. End Sub
  4017. Sub TestGetBlock ()
  4018.    Dim title      As String
  4019.    Dim Tmp        As String
  4020.    Dim Tmp1       As String
  4021.    Dim Tmp2       As String
  4022.    Dim i          As Integer
  4023.    Dim j          As Integer
  4024.    Tmp = Text1.Text
  4025.    title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  4026.    Tmp = Text1.Text
  4027.    Tmp1 = title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  4028.    cStartBasisTimer
  4029.    For i = 1 To Item
  4030.       Tmp2 = cGetBlock(Tmp, 1, 2)
  4031.    Next i
  4032.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4033.    Label3.Caption = Tmp1
  4034. End Sub
  4035. Sub TestGetCurrentDrive ()
  4036.    Dim title      As String
  4037.    Dim Tmp        As String
  4038.    Dim Tmp1       As String
  4039.    Dim Tmp2       As String
  4040.    Dim i          As Integer
  4041.    Dim j          As Integer
  4042.    Tmp = cGetCurrentDrive()
  4043.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  4044.    cStartBasisTimer
  4045.    For i = 1 To Item
  4046.       Tmp2 = cGetCurrentDrive()
  4047.       If (Tmp <> Tmp2) Then Beep
  4048.    Next i
  4049.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4050.    Label3.Caption = Tmp1
  4051. End Sub
  4052. Sub TestGetDateSeparator ()
  4053.    Dim title      As String
  4054.    Dim Tmp        As String
  4055.    Dim Tmp1       As String
  4056.    Dim Tmp2       As String
  4057.    Dim i          As Integer
  4058.    Dim j          As Integer
  4059.    Tmp = cGetDateSeparator()
  4060.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  4061.    cStartBasisTimer
  4062.    For i = 1 To Item
  4063.       Tmp2 = cGetDateSeparator()
  4064.       If (Tmp <> Tmp2) Then Beep
  4065.    Next i
  4066.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4067.    Label3.Caption = Tmp1
  4068. End Sub
  4069. Sub TestGetDefaultCurrentDir ()
  4070.    Dim title      As String
  4071.    Dim Tmp        As String
  4072.    Dim Tmp1       As String
  4073.    Dim Tmp2       As String
  4074.    Dim i          As Integer
  4075.    Dim j          As Integer
  4076.    Tmp = cGetDefaultCurrentDir()
  4077.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  4078.    cStartBasisTimer
  4079.    For i = 1 To Item
  4080.       Tmp2 = cGetDefaultCurrentDir()
  4081.       If (Tmp <> Tmp2) Then Beep
  4082.    Next i
  4083.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4084.    Label3.Caption = Tmp1
  4085. End Sub
  4086. Sub TestGetDiskFree ()
  4087.    Dim title      As String
  4088.    Dim Tmp        As String
  4089.    Dim Tmp1       As String
  4090.    Dim Tmp2       As String
  4091.    Dim i          As Integer
  4092.    Dim j          As Integer
  4093.    Dim k          As Long
  4094.    Dim ErrCode    As Integer
  4095.    Tmp1 = ""
  4096.    For i = 1 To 26
  4097.       k = cGetDiskFree(Chr$(64 + i))
  4098.       If (k <> True) Then
  4099.      Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4100.       End If
  4101.    Next i
  4102.    Tmp1 = Tmp1 + Chr$(13)
  4103.    cStartBasisTimer
  4104.    For i = 1 To Item
  4105.       k = cGetDiskFree("C")
  4106.    Next i
  4107.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4108.    Label3.Caption = Tmp1
  4109. End Sub
  4110. Sub TestGetDiskSpace ()
  4111.    Dim title      As String
  4112.    Dim Tmp        As String
  4113.    Dim Tmp1       As String
  4114.    Dim Tmp2       As String
  4115.    Dim i          As Integer
  4116.    Dim j          As Integer
  4117.    Dim k          As Long
  4118.    Dim ErrCode    As Integer
  4119.    Tmp1 = ""
  4120.    For i = 1 To 26
  4121.       k = cGetDiskSpace(Chr$(64 + i))
  4122.       If (k <> True) Then
  4123.      Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4124.       End If
  4125.    Next i
  4126.    Tmp1 = Tmp1 + Chr$(13)
  4127.    cStartBasisTimer
  4128.    For i = 1 To Item
  4129.       k = cGetDiskSpace("C")
  4130.    Next i
  4131.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4132.    Label3.Caption = Tmp1
  4133. End Sub
  4134. Sub TestGetDiskUsed ()
  4135.    Dim title      As String
  4136.    Dim Tmp        As String
  4137.    Dim Tmp1       As String
  4138.    Dim Tmp2       As String
  4139.    Dim i          As Integer
  4140.    Dim j          As Integer
  4141.    Dim k          As Long
  4142.    Dim ErrCode    As Integer
  4143.    Tmp1 = ""
  4144.    For i = 1 To 26
  4145.       k = cGetDiskUsed(Chr$(64 + i))
  4146.       If (k <> True) Then
  4147.      Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4148.       End If
  4149.    Next i
  4150.    Tmp1 = Tmp1 + Chr$(13)
  4151.    cStartBasisTimer
  4152.    For i = 1 To Item
  4153.       k = cGetDiskUsed("C")
  4154.    Next i
  4155.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4156.    Label3.Caption = Tmp1
  4157. End Sub
  4158. Sub TestGetDriveCurrentDir ()
  4159.    Dim title      As String
  4160.    Dim Tmp        As String
  4161.    Dim Tmp1       As String
  4162.    Dim Tmp2       As String
  4163.    Dim i          As Integer
  4164.    Dim j          As Integer
  4165.    Tmp1 = ""
  4166.    For i = 1 To 26
  4167.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  4168.       If (Tmp <> "") Then
  4169.      Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  4170.       Else
  4171.      If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & Chr$(13)
  4172.      If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & Chr$(13)
  4173.       End If
  4174.    Next i
  4175.    Tmp1 = Tmp1 + Chr$(13)
  4176.    cStartBasisTimer
  4177.    For i = 1 To Item
  4178.       Tmp2 = cGetDriveCurrentDir("C")
  4179.    Next i
  4180.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4181.    Label3.Caption = Tmp1
  4182. End Sub
  4183. Sub TestGetFullnameInEnv ()
  4184.    Dim title      As String
  4185.    Dim Tmp        As String
  4186.    Dim Tmp1       As String
  4187.    Dim Tmp2       As String
  4188.    Dim i          As Integer
  4189.    Dim j          As Integer
  4190.    Tmp = cGetFullNameInEnv("win.com", "windir")
  4191.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  4192.    cStartBasisTimer
  4193.    For i = 1 To ItemFile
  4194.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  4195.    Next i
  4196.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4197.    Label3.Caption = Tmp1
  4198. End Sub
  4199. Sub TestGetFullnameInPath ()
  4200.    Dim title      As String
  4201.    Dim Tmp        As String
  4202.    Dim Tmp1       As String
  4203.    Dim Tmp2       As String
  4204.    Dim i          As Integer
  4205.    Dim j          As Integer
  4206.    Tmp = cGetFullNameInPath("win.com")
  4207.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  4208.    cStartBasisTimer
  4209.    For i = 1 To ItemFile
  4210.       Tmp2 = cGetFullNameInPath("win.com")
  4211.    Next i
  4212.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4213.    Label3.Caption = Tmp1
  4214. End Sub
  4215. Sub TestGetIn ()
  4216.    Dim title      As String
  4217.    Dim Tmp        As String
  4218.    Dim Tmp1       As String
  4219.    Dim Tmp2       As String
  4220.    Dim i          As Integer
  4221.    Dim j          As Integer
  4222.    Tmp = Text1.Text
  4223.    title = "The 2,4,1 blocks of [" & Tmp & "] are "
  4224.    Tmp = Text1.Text
  4225.    Tmp1 = title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4226.    cStartBasisTimer
  4227.    For i = 1 To Item
  4228.       Tmp2 = cGetIn(Tmp, "/", 2)
  4229.    Next i
  4230.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4231.    Label3.Caption = Tmp1
  4232. End Sub
  4233. Sub TestGetInR ()
  4234.           
  4235.    Dim title      As String
  4236.    Dim Tmp        As String
  4237.    Dim Tmp1       As String
  4238.    Dim Tmp2       As String
  4239.    Dim i          As Integer
  4240.    Dim j          As Integer
  4241.    Tmp = Text1.Text
  4242.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  4243.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  4244.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4245.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4246.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4247.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4248.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4249.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4250.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4251.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  4252.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4253.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4254.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4255.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4256.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4257.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4258.    cStartBasisTimer
  4259.    For i = 1 To Item
  4260.       Tmp2 = cGetInR(Tmp, "/", 2)
  4261.    Next i
  4262.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4263.    Label3.Caption = Tmp1
  4264. End Sub
  4265. Sub TestGetNetConnection ()
  4266.    Dim title      As String
  4267.    Dim Tmp        As String
  4268.    Dim Tmp1       As String
  4269.    Dim Tmp2       As String
  4270.    Dim i          As Integer
  4271.    Dim j          As Integer
  4272.    Dim ErrCode    As Integer
  4273.    Tmp1 = ""
  4274.    For i = 1 To 26
  4275.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  4276.       If (ErrCode = True) Then
  4277.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  4278.       End If
  4279.    Next i
  4280.    For i = 1 To 3
  4281.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  4282.       If (ErrCode = True) Then
  4283.      Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  4284.       End If
  4285.    Next i
  4286.    Tmp1 = Tmp1 + Chr$(13)
  4287.    cStartBasisTimer
  4288.    For i = 1 To ItemFile
  4289.       Tmp = cGetNetConnection("C", ErrCode)
  4290.    Next i
  4291.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4292.    Label3.Caption = Tmp1
  4293. End Sub
  4294. Sub TestGetSystemDirectory ()
  4295.    Dim title      As String
  4296.    Dim Tmp        As String
  4297.    Dim Tmp1       As String
  4298.    Dim Tmp2       As String
  4299.    Dim i          As Integer
  4300.    Dim j          As Integer
  4301.    Tmp = cGetSystemDirectory()
  4302.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  4303.    cStartBasisTimer
  4304.    For i = 1 To Item
  4305.       Tmp2 = cGetSystemDirectory()
  4306.       If (Tmp <> Tmp2) Then Beep
  4307.    Next i
  4308.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4309.    Label3.Caption = Tmp1
  4310. End Sub
  4311. Sub TestGetTimeSeparator ()
  4312.    Dim title      As String
  4313.    Dim Tmp        As String
  4314.    Dim Tmp1       As String
  4315.    Dim Tmp2       As String
  4316.    Dim i          As Integer
  4317.    Dim j          As Integer
  4318.    Tmp = cGetTimeSeparator()
  4319.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  4320.    cStartBasisTimer
  4321.    For i = 1 To Item
  4322.       Tmp2 = cGetTimeSeparator()
  4323.       If (Tmp <> Tmp2) Then Beep
  4324.    Next i
  4325.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4326.    Label3.Caption = Tmp1
  4327. End Sub
  4328. Sub TestGetWindowsDirectory ()
  4329.    Dim title      As String
  4330.    Dim Tmp        As String
  4331.    Dim Tmp1       As String
  4332.    Dim Tmp2       As String
  4333.    Dim i          As Integer
  4334.    Dim j          As Integer
  4335.    Tmp = cGetWindowsDirectory()
  4336.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  4337.    cStartBasisTimer
  4338.    For i = 1 To Item
  4339.       Tmp2 = cGetWindowsDirectory()
  4340.       If (Tmp <> Tmp2) Then Beep
  4341.    Next i
  4342.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4343.    Label3.Caption = Tmp1
  4344. End Sub
  4345. Sub TestGiveBitPalindrome ()
  4346.    Dim title      As String
  4347.    Dim Tmp        As String
  4348.    Dim Tmp1       As String
  4349.    Dim Tmp2       As String
  4350.    Dim i          As Integer
  4351.    Dim j          As Integer
  4352.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4353.    Tmp1 = Tmp1 & title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  4354.    cStartBasisTimer
  4355.    For i = 1 To Item
  4356.       Tmp2 = cGiveBitPalindrome()
  4357.    Next i
  4358.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4359.    Label3.Caption = Tmp1
  4360. End Sub
  4361. Sub TestGZIP ()
  4362.    Dim title      As String
  4363.    Dim Tmp        As String
  4364.    Dim Tmp1       As String
  4365.    Dim Tmp2       As String
  4366.    Dim Tmp3       As String
  4367.    Dim i          As Integer
  4368.    Dim j          As Long
  4369.    Tmp1 = ""
  4370.    Tmp = "c:\autoexec.bat"
  4371.    Tmp2 = "c:\autoexec.tb1"
  4372.    Tmp3 = "c:\autoexec.tb2"
  4373.    Tmp1 = Tmp1 & "GZIP File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cGZIPFileCompress(Tmp, Tmp2) & Chr$(13)
  4374.    Tmp1 = Tmp1 & "GZIP File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cGZIPFileExpand(Tmp2, Tmp3) & Chr$(13)
  4375.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  4376.    cStartBasisTimer
  4377.    For i = 1 To Item
  4378.       j = cGZIPFileCompress(Tmp, Tmp2)
  4379.    Next i
  4380.    j = cGZIPFileExpand(Tmp2, Tmp3)
  4381.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4382.    Label3.Caption = Tmp1
  4383. End Sub
  4384. Sub TestGZIPStringCompress ()
  4385.    Dim title      As String
  4386.    Dim Tmp        As String
  4387.    Dim Tmp1       As String
  4388.    Dim Tmp2       As String
  4389.    Dim Tmp3       As String
  4390.    Dim i          As Integer
  4391.    Dim j          As Long
  4392.    Tmp1 = ""
  4393.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN"
  4394.    Tmp2 = cGZIPStringCompress(Tmp)
  4395.    Tmp3 = cGZIPStringExpand(Tmp2)
  4396.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  4397.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  4398.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  4399.    cStartBasisTimer
  4400.    For i = 1 To Item
  4401.       Tmp2 = cGZIPStringCompress(Tmp)
  4402.    Next i
  4403.    Tmp3 = cGZIPStringExpand(Tmp2)
  4404.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4405.    Label3.Caption = Tmp1
  4406. End Sub
  4407. Sub TestHideAllEditForm ()
  4408.    Dim n       As Integer
  4409.    Dim Tmp     As String
  4410.    If (cHideAllEditForm() = True) Then
  4411.       Tmp = "HideAllEditForm SUCCESS"
  4412.    Else
  4413.       Tmp = "HideAllEditForm FAIL"
  4414.    End If
  4415.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4416.    Label3.Caption = Tmp
  4417.    DoEvents
  4418.    n = cSleep(2000)
  4419.    If (cUnHideAllEditForm() = True) Then
  4420.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  4421.    Else
  4422.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  4423.    End If
  4424.    Label3.Caption = Tmp
  4425. End Sub
  4426. Sub TestHideDebugForm ()
  4427.    Dim n       As Integer
  4428.    Dim Tmp     As String
  4429.    If (cHideDebugForm() = True) Then
  4430.       Tmp = "HideDebugForm SUCCESS"
  4431.    Else
  4432.       Tmp = "HideDebugForm FAIL"
  4433.    End If
  4434.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4435.    Label3.Caption = Tmp
  4436.    DoEvents
  4437.    n = cSleep(2000)
  4438.    If (cUnHideDebugForm() = True) Then
  4439.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  4440.    Else
  4441.       Tmp = Tmp & "UnHideDebugForm FAIL"
  4442.    End If
  4443.    Label3.Caption = Tmp
  4444. End Sub
  4445. Sub TestHMAL (Management As Integer)
  4446.    Dim Tmp        As String
  4447.    Dim ErrCode    As Integer
  4448.    Dim HMA        As tagHMA
  4449.    HMA.nType = DA_LONG
  4450.    HMA.nIsTyped = False
  4451.    HMA.nRows = 100
  4452.    HMA.nCols = 100
  4453.    HMA.nSheets = 2
  4454.    ErrCode = cHMACreate(HMA)
  4455.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4456.    If (ErrCode = True) Then
  4457.       
  4458.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4459.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4460.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4461.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4462.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4463.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4464.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4465.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4466.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4467.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4468.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4469.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4470.       
  4471.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  4472.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  4473.       
  4474.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  4475.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  4476.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4477.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4478.       
  4479.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4480.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4481.       If (Management > 0) Then
  4482.      Select Case Management
  4483.         Case 1         'clear all
  4484.            ErrCode = cHMAClear(HMA)
  4485.         Case 2         'clear sheet 2
  4486.            ErrCode = cHMAClearSheet(HMA, 2)
  4487.         Case 3         'clear last row
  4488.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4489.         Case 4         'clear last col
  4490.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4491.         Case 5         'clear last row in all sheets
  4492.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4493.         Case 6         'clear last col in all sheets
  4494.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4495.      End Select
  4496.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4497.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4498.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4499.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4500.       End If
  4501.    End If
  4502.    ErrCode = cHMAFree(HMA)
  4503.    Label3.Caption = Tmp
  4504. End Sub
  4505. Sub TestHMAStr (Management As Integer)
  4506.    Dim Tmp        As String
  4507.    Dim ErrCode    As Integer
  4508.    Dim HMA        As tagHMA
  4509.    HMA.nType = 50
  4510.    HMA.nIsTyped = False
  4511.    HMA.nRows = 100
  4512.    HMA.nCols = 100
  4513.    HMA.nSheets = 2
  4514.    ErrCode = cHMACreate(HMA)
  4515.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4516.    If (ErrCode = True) Then
  4517.       
  4518.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4519.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4520.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4521.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4522.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4523.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4524.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4525.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4526.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4527.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4528.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4529.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4530.       
  4531.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  4532.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  4533.       
  4534.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  4535.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  4536.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4537.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4538.       
  4539.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4540.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4541.       If (Management > 0) Then
  4542.      Select Case Management
  4543.         Case 1         'clear all
  4544.            ErrCode = cHMAClear(HMA)
  4545.         Case 2         'clear sheet 2
  4546.            ErrCode = cHMAClearSheet(HMA, 2)
  4547.         Case 3         'clear last row
  4548.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4549.         Case 4         'clear last col
  4550.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4551.         Case 5         'clear last row in all sheets
  4552.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4553.         Case 6         'clear last col in all sheets
  4554.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4555.      End Select
  4556.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4557.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4558.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4559.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4560.       End If
  4561.    End If
  4562.    ErrCode = cHMAFree(HMA)
  4563.    Label3.Caption = Tmp
  4564. End Sub
  4565. Sub TestHMAType (Management As Integer)
  4566.    Dim Tmp        As String
  4567.    Dim ErrCode    As Integer
  4568.    Dim HMA        As tagHMA
  4569.    Dim TE         As tagTASKENTRY
  4570.    HMA.nType = Len(TE)
  4571.    HMA.nIsTyped = True
  4572.    HMA.nRows = 100
  4573.    HMA.nCols = 100
  4574.    HMA.nSheets = 2
  4575.    ErrCode = cHMACreate(HMA)
  4576.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4577.    If (ErrCode = True) Then
  4578.       
  4579.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4580.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4581.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4582.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4583.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4584.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4585.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4586.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4587.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4588.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4589.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4590.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4591.       ErrCode = cTasks(TE, True)
  4592.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  4593.       ErrCode = cTasks(TE, False)
  4594.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4595.       
  4596.       ErrCode = cTasks(TE, False)
  4597.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  4598.       ErrCode = cTasks(TE, False)
  4599.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  4600.       
  4601.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  4602.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4603.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4604.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4605.       
  4606.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4607.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4608.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4609.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  4610.       If (Management > 0) Then
  4611.      Select Case Management
  4612.         Case 1         'clear all
  4613.            ErrCode = cHMAClear(HMA)
  4614.         Case 2         'clear sheet 2
  4615.            ErrCode = cHMAClearSheet(HMA, 2)
  4616.         Case 3         'clear last row
  4617.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4618.         Case 4         'clear last col
  4619.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4620.         Case 5         'clear last row in all sheets
  4621.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4622.         Case 6         'clear last col in all sheets
  4623.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4624.      End Select
  4625.      Call cHMAGetType(HMA, 1, 1, 1, TE)
  4626.      Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4627.      Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4628.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4629.       
  4630.      Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4631.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4632.      Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4633.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4634.       End If
  4635.    End If
  4636.    ErrCode = cHMAFree(HMA)
  4637.    Label3.Caption = Tmp
  4638. End Sub
  4639. Sub TestHourTo ()
  4640.    Dim title      As String
  4641.    Dim Tmp        As String
  4642.    Dim Tmp1       As String
  4643.    Dim Tmp2       As String
  4644.    Dim i          As Integer
  4645.    Dim j          As Integer
  4646.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  4647.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  4648.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  4649.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  4650.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  4651.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  4652.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  4653.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  4654.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  4655.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  4656.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  4657.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  4658.    cStartBasisTimer
  4659.    For i = 1 To Item
  4660.       j = cHourTo("23:59")
  4661.    Next i
  4662.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4663.    Label3.Caption = Tmp1
  4664. End Sub
  4665. Sub Testing ()
  4666.     Dim File1       As String
  4667.     Dim FVI         As tagFILEVERSIONINFO
  4668.     Dim Status      As Integer
  4669.     Dim i           As Integer
  4670.     Dim Tmp1         As String
  4671.     File1 = cFilesInDirectory("c:\windows\system\*.*", True)
  4672.     While File1 <> ""
  4673.     Status = cGetFileVersionInfo(File1, FVI)
  4674.     i = i + 1
  4675.       Tmp1 = ""
  4676.       Tmp1 = Tmp1 & "   VersionProduct = " & FVI.VersionProduct & Chr$(13)
  4677.       Tmp1 = Tmp1 & "   FileDescription = " & FVI.FileDescription & Chr$(13)
  4678.       Tmp1 = Tmp1 & "   FileVersion = " & FVI.FileVersion & Chr$(13)
  4679.       Tmp1 = Tmp1 & "   InternalName = " & FVI.InternalName & Chr$(13)
  4680.       Tmp1 = Tmp1 & "   LegalCopyright = " & FVI.LegalCopyright & Chr$(13)
  4681.       Tmp1 = Tmp1 & "   LegalTrademarks = " & FVI.LegalTrademarks & Chr$(13)
  4682.       Tmp1 = Tmp1 & "   Comments = " & FVI.Comments & Chr$(13)
  4683.       Tmp1 = Tmp1 & "   ProductName = " & FVI.ProductName & Chr$(13)
  4684.       Tmp1 = Tmp1 & "   ProductVersion = " & FVI.ProductVersion & Chr$(13) & Chr$(13)
  4685.       Label3.Caption = Tmp1
  4686.     Text1.Text = i & " " & File1 & " " & Status & " '" & FVI.FileDescription & "'"
  4687.       DoEvents
  4688.     File1 = cFilesInDirectory("c:\windows\system\*.*", False)
  4689.     Wend
  4690. End Sub
  4691. Sub TestInpBox ()
  4692.    Dim i       As Integer
  4693.    Dim n       As Integer
  4694.    Dim Tmp     As String
  4695.    Dim Tmp1    As String
  4696.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  4697.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  4698.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  4699.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  4700.    Tmp = Tmp & "The system menu is also in French."
  4701.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  4702.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  4703. End Sub
  4704. Sub TestInsertBlocks ()
  4705.    Dim title      As String
  4706.    Dim Tmp        As String
  4707.    Dim Tmp1       As String
  4708.    Dim Tmp2       As String
  4709.    Dim i          As Integer
  4710.    Dim j          As Integer
  4711.    Tmp = "A~BC~DEF~GHIJ~"
  4712.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4713.    Tmp1 = title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  4714.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4715.    Tmp1 = Tmp1 & title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  4716.    cStartBasisTimer
  4717.    For i = 1 To Item
  4718.       Tmp2 = cInsertBlocks(Tmp, "a")
  4719.    Next i
  4720.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4721.    Label3.Caption = Tmp1
  4722. End Sub
  4723. Sub TestInsertBlocksBy ()
  4724.    Dim title      As String
  4725.    Dim Tmp        As String
  4726.    Dim Tmp1       As String
  4727.    Dim Tmp2       As String
  4728.    Dim i          As Integer
  4729.    Dim j          As Integer
  4730.    Tmp = Text1.Text
  4731.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4732.    Tmp1 = title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  4733.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4734.    Tmp1 = Tmp1 & title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  4735.    cStartBasisTimer
  4736.    For i = 1 To Item
  4737.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  4738.    Next i
  4739.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4740.    Label3.Caption = Tmp1
  4741. End Sub
  4742. Sub TestInsertChars ()
  4743.    Dim title      As String
  4744.    Dim Tmp        As String
  4745.    Dim Tmp1       As String
  4746.    Dim Tmp2       As String
  4747.    Dim i          As Integer
  4748.    Dim j          As Integer
  4749.    Tmp = Text1.Text
  4750.    title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4751.    Tmp1 = title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  4752.    title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4753.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  4754.    title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4755.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  4756.    cStartBasisTimer
  4757.    For i = 1 To Item
  4758.       Tmp2 = cInsertChars(Tmp, 1, "a")
  4759.    Next i
  4760.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4761.    Label3.Caption = Tmp1
  4762. End Sub
  4763. Sub TestIntoBalance ()
  4764.    Dim title      As String
  4765.    Dim Tmp        As String
  4766.    Dim Tmp1       As String
  4767.    Dim Tmp2       As String
  4768.    Dim i          As Integer
  4769.    Dim j          As Integer
  4770.    j = 1234
  4771.    title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  4772.    Tmp1 = title & Chr$(13)
  4773.    For i = 0 To 11
  4774.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  4775.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  4776.    Next i
  4777.    Tmp1 = Tmp1 & Chr$(13)
  4778.    cStartBasisTimer
  4779.    For i = 1 To Item
  4780.       Tmp2 = cIntoBalanceFill(i)
  4781.    Next i
  4782.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4783.    Label3.Caption = Tmp1
  4784. End Sub
  4785. Sub TestIntoFixHour ()
  4786.    Dim title      As String
  4787.    Dim Tmp        As String
  4788.    Dim Tmp1       As String
  4789.    Dim Tmp2       As String
  4790.    Dim i          As Integer
  4791.    Dim j          As Integer
  4792.    j = 12345
  4793.    title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  4794.    Tmp1 = title & Chr$(13)
  4795.    For i = 0 To 11
  4796.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  4797.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  4798.    Next i
  4799.    Tmp1 = Tmp1 & Chr$(13)
  4800.    cStartBasisTimer
  4801.    For i = 1 To Item
  4802.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  4803.    Next i
  4804.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4805.    Label3.Caption = Tmp1
  4806. End Sub
  4807. Sub TestIntoHour ()
  4808.    Dim title      As String
  4809.    Dim Tmp        As String
  4810.    Dim Tmp1       As String
  4811.    Dim Tmp2       As String
  4812.    Dim i          As Integer
  4813.    Dim j          As Integer
  4814.    j = 1234
  4815.    title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  4816.    Tmp1 = title & Chr$(13)
  4817.    For i = 0 To 11
  4818.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  4819.    Next i
  4820.    Tmp1 = Tmp1 & Chr$(13)
  4821.    cStartBasisTimer
  4822.    For i = 1 To Item
  4823.       Tmp2 = cIntoHour(i)
  4824.    Next i
  4825.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4826.    Label3.Caption = Tmp1
  4827. End Sub
  4828. Sub TestIntoVarHour ()
  4829.    Dim title      As String
  4830.    Dim Tmp        As String
  4831.    Dim Tmp1       As String
  4832.    Dim Tmp2       As String
  4833.    Dim i          As Integer
  4834.    Dim j          As Integer
  4835.    Dim k          As Long
  4836.                 
  4837.    title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  4838.    Tmp1 = title & Chr$(13)
  4839.    For i = 1 To 9
  4840.       Tmp2 = Tmp2 & (10 - i)
  4841.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  4842.    Next i
  4843.    Tmp1 = Tmp1 & Chr$(13)
  4844.    cStartBasisTimer
  4845.    For i = 1 To Item
  4846.       Tmp2 = cIntoVarHour(123456789)
  4847.    Next i
  4848.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4849.    Label3.Caption = Tmp1
  4850. End Sub
  4851. Sub TestIsBitPalindrome ()
  4852.    Dim title      As String
  4853.    Dim Tmp        As String
  4854.    Dim Tmp1       As String
  4855.    Dim Tmp2       As String
  4856.    Dim i          As Integer
  4857.    Dim j          As Integer
  4858.    Tmp = Text1.Text
  4859.    title = "[" & Tmp & "] is "
  4860.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  4861.    For i = 1 To 255
  4862.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  4863.    Next i
  4864.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4865.    Tmp1 = Tmp1 & title & Tmp2 & Chr$(13) & Chr$(13)
  4866.    cStartBasisTimer
  4867.    For i = 1 To Item
  4868.       j = cIsPalindrome(Tmp)
  4869.    Next i
  4870.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4871.    Label3.Caption = Tmp1
  4872. End Sub
  4873. Sub TestIsFileX ()
  4874.    Dim title      As String
  4875.    Dim Tmp        As String
  4876.    Dim Tmp1       As String
  4877.    Dim Tmp2       As String
  4878.    Dim i          As Integer
  4879.    Dim j          As Integer
  4880.    Tmp = cFilesInDirectory("*.*", True)
  4881.    title = "[" & Tmp & "] is "
  4882.    Tmp1 = title & Chr$(13) & Chr$(13)
  4883.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  4884.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  4885.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  4886.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  4887.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  4888.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  4889.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  4890.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  4891.    cStartBasisTimer
  4892.    For i = 1 To Item
  4893.       j = cIsFileArchive(Tmp)
  4894.    Next i
  4895.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4896.    Label3.Caption = Tmp1
  4897. End Sub
  4898. Sub TestIsPalindrome ()
  4899.    Dim title      As String
  4900.    Dim Tmp        As String
  4901.    Dim Tmp1       As String
  4902.    Dim Tmp2       As String
  4903.    Dim i          As Integer
  4904.    Dim j          As Integer
  4905.    Tmp = Text1.Text
  4906.    title = "[" & Tmp & "] is "
  4907.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  4908.    cStartBasisTimer
  4909.    For i = 1 To Item
  4910.       j = cIsPalindrome(Tmp)
  4911.    Next i
  4912.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4913.    Label3.Caption = Tmp1
  4914. End Sub
  4915. Sub TestIsX ()
  4916.    Dim title      As String
  4917.    Dim Tmp        As String
  4918.    Dim Tmp1       As String
  4919.    Dim Tmp2       As String
  4920.    Dim i          As Integer
  4921.    Dim j          As Integer
  4922.    Tmp = Text1.Text
  4923.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  4924.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  4925.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  4926.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  4927.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  4928.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4929.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  4930.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4931.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  4932.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  4933.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  4934.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  4935.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  4936.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  4937.    cStartBasisTimer
  4938.    For i = 1 To Item
  4939.       j = cIsDigit(Tmp)
  4940.    Next i
  4941.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4942.    Label3.Caption = Tmp1
  4943. End Sub
  4944. Sub TestKillDir ()
  4945.    Dim title      As String
  4946.    Dim Tmp        As String
  4947.    Dim Tmp1       As String
  4948.    Dim Tmp2       As String
  4949.    Dim i          As Integer
  4950.    Dim j          As Integer
  4951.    j = cMakeDir("c:\testing")
  4952.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4953.    cStartBasisTimer
  4954.    For i = 1 To ItemFile
  4955.       j = cKillDir("c:\testing")
  4956.    Next i
  4957.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4958.    Label3.Caption = Tmp1
  4959. End Sub
  4960. Sub TestKillDirs ()
  4961.    Dim title      As String
  4962.    Dim Tmp        As String
  4963.    Dim Tmp1       As String
  4964.    Dim Tmp2       As String
  4965.    Dim i          As Integer
  4966.    Dim j          As Integer
  4967.    Dim File       As String
  4968.    File = "c:\this1\this2\this3"
  4969.    j = cMakeMultipleDir(File)
  4970.    Tmp1 = "Create '" & File & "' " & IIf(j = True, "created", "not created") & Chr$(13)
  4971.    Tmp1 = Tmp1 & "Directory '" & File & "' " & IIf(cKillDirs(File, True) = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4972.    cStartBasisTimer
  4973.    For i = 1 To ItemFile
  4974.       j = cKillDirs(File, True)
  4975.    Next i
  4976.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4977.    Label3.Caption = Tmp1
  4978. End Sub
  4979. Sub TestKillFile ()
  4980.    Dim title      As String
  4981.    Dim Tmp        As String
  4982.    Dim Tmp1       As String
  4983.    Dim Tmp2       As String
  4984.    Dim i          As Integer
  4985.    Dim j          As Integer
  4986.    Close #1
  4987.    Open "XY~YX~XY.~~~" For Output As #1
  4988.    Print #1, "this is a test";
  4989.    Close #1
  4990.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  4991.    cStartBasisTimer
  4992.    For i = 1 To Item
  4993.       j = cKillFile("XY~YX~XY.~~~")
  4994.    Next i
  4995.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4996.    Label3.Caption = Tmp1
  4997. End Sub
  4998. Sub TestKillFiles ()
  4999.    Dim title      As String
  5000.    Dim Tmp        As String
  5001.    Dim Tmp1       As String
  5002.    Dim Tmp2       As String
  5003.    Dim i          As Integer
  5004.    Dim j          As Integer
  5005.    For i = 1 To 34
  5006.       Close #1
  5007.       Open "C:\XY~YX~XY." & i For Output As #1
  5008.       Print #1, "this is a test";
  5009.       Close #1
  5010.    Next i
  5011.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  5012.    cStartBasisTimer
  5013.    For i = 1 To ItemFile
  5014.       j = cKillFiles("C:\XY~YX~XY.~~~")
  5015.    Next i
  5016.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5017.    Label3.Caption = Tmp1
  5018. End Sub
  5019. Sub TestLanguage ()
  5020.    Dim title      As String
  5021.    Dim Tmp        As String
  5022.    Dim Tmp1       As String
  5023.    Dim Tmp2       As String
  5024.    Dim i          As Integer
  5025.    Dim j          As Integer
  5026.    Dim k          As Long
  5027.    Dim ErrCode    As Integer
  5028.    ReDim Lng(LNG_FRENCH To LNG_NORVEGIAN)
  5029.    k = Int(Now)
  5030.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  5031.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  5032.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  5033.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  5034.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  5035.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  5036.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  5037.    Lng(LNG_POLISH) = "LNG_POLISH"
  5038.    Lng(LNG_NORVEGIAN) = "LNG_NORVEGIAN"
  5039.    Tmp1 = ""
  5040.    For i = LNG_FRENCH To LNG_NORVEGIAN
  5041.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, Weekday(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  5042.    Next i
  5043.    Tmp1 = Tmp1 + Chr$(13)
  5044.    For i = LNG_FRENCH To LNG_NORVEGIAN
  5045.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, Weekday(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  5046.    Next i
  5047.    Tmp1 = Tmp1 + Chr$(13)
  5048.    cStartBasisTimer
  5049.    For i = 1 To Item
  5050.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  5051.    Next i
  5052.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5053.    Label3.Caption = Tmp1
  5054. End Sub
  5055. Sub TestLrc ()
  5056.    Dim title      As String
  5057.    Dim Tmp        As String
  5058.    Dim Tmp1       As String
  5059.    Dim Tmp2       As String
  5060.    Dim i          As Integer
  5061.    Dim j          As Integer
  5062.    Tmp = Chr$(2) & "0a12721536"
  5063.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  5064.    cStartBasisTimer
  5065.    For i = 1 To Item
  5066.       Tmp2 = cLrc(Tmp)
  5067.    Next i
  5068.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5069.    Label3.Caption = Tmp1
  5070. End Sub
  5071. Sub TestMakeDir ()
  5072.    Dim title      As String
  5073.    Dim Tmp        As String
  5074.    Dim Tmp1       As String
  5075.    Dim Tmp2       As String
  5076.    Dim i          As Integer
  5077.    Dim j          As Integer
  5078.    j = cKillDir("testing")
  5079.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  5080.    cStartBasisTimer
  5081.    For i = 1 To ItemFile
  5082.       j = cMakeDir("testing")
  5083.    Next i
  5084.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5085.    Label3.Caption = Tmp1
  5086. End Sub
  5087. Sub TestMakePath ()
  5088.    Dim title      As String
  5089.    Dim Tmp        As String
  5090.    Dim Tmp1       As String
  5091.    Dim Tmp2       As String
  5092.    Dim Tmp3       As String
  5093.    Dim i          As Integer
  5094.    Dim n          As Integer
  5095.    Dim j          As Long
  5096.    Dim SPLITPATH  As tagSPLITPATH
  5097.    Tmp1 = ""
  5098.    Tmp = cMakePath("c", "tmp", "test", "dat")
  5099.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  5100.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  5101.    n = cSplitPath(Tmp, SPLITPATH)
  5102.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  5103.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  5104.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  5105.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  5106.    cStartBasisTimer
  5107.    For i = 1 To Item
  5108.       Tmp = cMakePath("c", "tmp", "test", "dat")
  5109.    Next i
  5110.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  5111.    Label3.Caption = Tmp1
  5112. End Sub
  5113. Sub TestMatrixAdd ()
  5114.    Dim Tmp1       As String
  5115.    Dim TmpA       As String
  5116.    Dim TmpB       As String
  5117.    Dim TmpC       As String
  5118.    Dim i          As Integer
  5119.    Dim j          As Integer
  5120.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5121.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5122.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5123.    Randomize Timer
  5124.    For i = 1 To 3
  5125.       For j = 1 To 3
  5126.      arrayA(i, j) = Int(RandI * Rnd(1))
  5127.      arrayB(i, j) = Int(RandI * Rnd(1))
  5128.      arrayC(i, j) = 0
  5129.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5130.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5131.       Next j
  5132.       TmpA = TmpA + Chr$(13)
  5133.       TmpB = TmpB + Chr$(13)
  5134.    Next i
  5135.    Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  5136.    For i = 1 To 3
  5137.       For j = 1 To 3
  5138.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5139.       Next j
  5140.       TmpC = TmpC + Chr$(13)
  5141.    Next i
  5142.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5143.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5144.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5145.    cStartBasisTimer
  5146.    For i = 1 To ItemFile
  5147.       Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  5148.    Next i
  5149.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5150.    Label3.Caption = Tmp1
  5151. End Sub
  5152. Sub TestMatrixCompare ()
  5153.    Dim Tmp1       As String
  5154.    Dim TmpA       As String
  5155.    Dim TmpC       As String
  5156.    Dim i          As Integer
  5157.    Dim j          As Integer
  5158.    Dim Idem       As Integer
  5159.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5160.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5161.    Randomize Timer
  5162.    For i = 1 To 3
  5163.       For j = 1 To 3
  5164.      arrayA(i, j) = Int(RandI * Rnd(1))
  5165.      arrayC(i, j) = Int(RandI * Rnd(1))
  5166.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5167.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5168.       Next j
  5169.       TmpA = TmpA + Chr$(13)
  5170.       TmpC = TmpC + Chr$(13)
  5171.    Next i
  5172.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  5173.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5174.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5175.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  5176.    TmpA = ""
  5177.    TmpC = ""
  5178.    For i = 1 To 3
  5179.       For j = 1 To 3
  5180.      arrayA(i, j) = Int(RandI * Rnd(1))
  5181.      arrayC(i, j) = arrayA(i, j)
  5182.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5183.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5184.       Next j
  5185.       TmpA = TmpA + Chr$(13)
  5186.       TmpC = TmpC + Chr$(13)
  5187.    Next i
  5188.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  5189.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5190.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5191.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  5192.    cStartBasisTimer
  5193.    For i = 1 To ItemFile
  5194.       Idem = cMatrixCompare(3, arrayA(), arrayC())
  5195.    Next i
  5196.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5197.    Label3.Caption = Tmp1
  5198. End Sub
  5199. Sub TestMatrixCopy ()
  5200.    Dim Tmp1       As String
  5201.    Dim TmpA       As String
  5202.    Dim TmpC       As String
  5203.    Dim i          As Integer
  5204.    Dim j          As Integer
  5205.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5206.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5207.    Randomize Timer
  5208.    For i = 1 To 3
  5209.       For j = 1 To 3
  5210.      arrayA(i, j) = Int(RandI * Rnd(1))
  5211.      arrayC(i, j) = 0
  5212.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5213.       Next j
  5214.       TmpA = TmpA + Chr$(13)
  5215.    Next i
  5216.    Call cMatrixCopy(3, arrayA(), arrayC())
  5217.    For i = 1 To 3
  5218.       For j = 1 To 3
  5219.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5220.       Next j
  5221.       TmpC = TmpC + Chr$(13)
  5222.    Next i
  5223.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5224.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5225.    cStartBasisTimer
  5226.    For i = 1 To ItemFile
  5227.       Call cMatrixCopy(3, arrayA(), arrayC())
  5228.    Next i
  5229.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5230.    Label3.Caption = Tmp1
  5231. End Sub
  5232. Sub TestMatrixDet ()
  5233.    Dim Tmp1       As String
  5234.    Dim TmpA       As String
  5235.    Dim TmpC       As String
  5236.    Dim i          As Integer
  5237.    Dim j          As Integer
  5238.    Dim det        As Double
  5239.    Dim nSize      As Integer
  5240.    nSize = 3
  5241.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  5242.    Randomize Timer
  5243.    For i = 1 To nSize
  5244.       For j = 1 To nSize
  5245.      arrayA(i, j) = Int(RandI * Rnd(1))
  5246.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5247.       Next j
  5248.       TmpA = TmpA + Chr$(13)
  5249.    Next i
  5250.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5251.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, arrayA()) & Chr$(13) & Chr$(13)
  5252.    cStartBasisTimer
  5253.    For i = 1 To ItemFile
  5254.       det = cMatrixDet(nSize, arrayA())
  5255.       DoEvents
  5256.    Next i
  5257.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5258.    Label3.Caption = Tmp1
  5259. End Sub
  5260. Sub TestMatrixInv ()
  5261.    Dim Tmp1       As String
  5262.    Dim TmpA       As String
  5263.    Dim TmpC       As String
  5264.    Dim i          As Integer
  5265.    Dim j          As Integer
  5266.    Dim result     As Integer
  5267.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5268.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5269.    Randomize Timer
  5270.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  5271.    result = cMatrixFill(3, arrayC(), MATRIX_UNIT)
  5272.    For i = 1 To 3
  5273.       For j = 1 To 3
  5274.      arrayA(i, j) = Int(RandI * Rnd(1))
  5275.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5276.       Next j
  5277.       TmpA = TmpA + Chr$(13)
  5278.    Next i
  5279.    result = cMatrixInv(3, arrayA(), arrayC())
  5280.    If (result = True) Then
  5281.       For i = 1 To 3
  5282.      For j = 1 To 3
  5283.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  5284.      Next j
  5285.      TmpC = TmpC + Chr$(13)
  5286.       Next i
  5287.    Else
  5288.       TmpC = " 'can be inverted'"
  5289.    End If
  5290.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  5291.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  5292.    TmpA = ""
  5293.    TmpC = ""
  5294.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  5295.    result = cMatrixFill(3, arrayC(), MATRIX_ZERO)
  5296.    For i = 1 To 3
  5297.       For j = 1 To 3
  5298.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5299.       Next j
  5300.       TmpA = TmpA + Chr$(13)
  5301.    Next i
  5302.    result = cMatrixInv(3, arrayA(), arrayC())
  5303.    If (result = True) Then
  5304.       For i = 1 To 3
  5305.      For j = 1 To 3
  5306.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  5307.      Next j
  5308.      TmpC = TmpC + Chr$(13)
  5309.       Next i
  5310.    Else
  5311.       TmpC = " 'can be inverted'"
  5312.    End If
  5313.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  5314.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  5315.    For i = 1 To 3
  5316.       For j = 1 To 3
  5317.      arrayA(i, j) = Int(RandI * Rnd(1))
  5318.       Next j
  5319.    Next i
  5320.    cStartBasisTimer
  5321.    For i = 1 To ItemFile
  5322.       result = cMatrixInv(3, arrayA(), arrayC())
  5323.    Next i
  5324.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5325.    Label3.Caption = Tmp1
  5326. End Sub
  5327. Sub TestMatrixMinCo ()
  5328.    Dim Tmp1       As String
  5329.    Dim TmpA       As String
  5330.    Dim TmpC       As String
  5331.    Dim i          As Integer
  5332.    Dim j          As Integer
  5333.    Dim cofact     As Double
  5334.    Dim nSize      As Integer
  5335.    nSize = 3
  5336.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  5337.    Randomize Timer
  5338.    For i = 1 To nSize
  5339.       For j = 1 To nSize
  5340.      arrayA(i, j) = Int(RandI * Rnd(1))
  5341.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5342.       Next j
  5343.       TmpA = TmpA + Chr$(13)
  5344.    Next i
  5345.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  5346.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, arrayA(), 1, 1) & Chr$(13)
  5347.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, arrayA(), 2, 2) & Chr$(13)
  5348.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5349.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, arrayA(), 1, 1) & Chr$(13)
  5350.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, arrayA(), 2, 2) & Chr$(13)
  5351.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5352.    cStartBasisTimer
  5353.    For i = 1 To ItemFile
  5354.       cofact = cMatrixCoFactor(nSize, arrayA(), 1, 1)
  5355.    Next i
  5356.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5357.    Label3.Caption = Tmp1
  5358. End Sub
  5359. Sub TestMatrixMul ()
  5360.    Dim Tmp1       As String
  5361.    Dim TmpA       As String
  5362.    Dim TmpB       As String
  5363.    Dim TmpC       As String
  5364.    Dim i          As Integer
  5365.    Dim j          As Integer
  5366.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5367.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5368.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5369.    Randomize Timer
  5370.    For i = 1 To 3
  5371.       For j = 1 To 3
  5372.      arrayA(i, j) = Int(RandI * Rnd(1))
  5373.      arrayB(i, j) = Int(RandI * Rnd(1))
  5374.      arrayC(i, j) = 0
  5375.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5376.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5377.       Next j
  5378.       TmpA = TmpA + Chr$(13)
  5379.       TmpB = TmpB + Chr$(13)
  5380.    Next i
  5381.    Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  5382.    For i = 1 To 3
  5383.       For j = 1 To 3
  5384.      TmpC = TmpC + Format$(arrayC(i, j), "000000000000  ")
  5385.       Next j
  5386.       TmpC = TmpC + Chr$(13)
  5387.    Next i
  5388.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5389.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5390.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5391.    cStartBasisTimer
  5392.    For i = 1 To ItemFile
  5393.       Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  5394.    Next i
  5395.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5396.    Label3.Caption = Tmp1
  5397. End Sub
  5398. Sub TestMatrixSub ()
  5399.    Dim Tmp1       As String
  5400.    Dim TmpA       As String
  5401.    Dim TmpB       As String
  5402.    Dim TmpC       As String
  5403.    Dim i          As Integer
  5404.    Dim j          As Integer
  5405.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5406.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5407.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5408.    Randomize Timer
  5409.    For i = 1 To 3
  5410.       For j = 1 To 3
  5411.      arrayA(i, j) = Int(RandI * Rnd(1))
  5412.      arrayB(i, j) = Int(RandI * Rnd(1))
  5413.      arrayC(i, j) = 0
  5414.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5415.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5416.       Next j
  5417.       TmpA = TmpA + Chr$(13)
  5418.       TmpB = TmpB + Chr$(13)
  5419.    Next i
  5420.    Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  5421.    For i = 1 To 3
  5422.       For j = 1 To 3
  5423.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5424.       Next j
  5425.       TmpC = TmpC + Chr$(13)
  5426.    Next i
  5427.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5428.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5429.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5430.    cStartBasisTimer
  5431.    For i = 1 To ItemFile
  5432.       Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  5433.    Next i
  5434.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5435.    Label3.Caption = Tmp1
  5436. End Sub
  5437. Sub TestMatrixSymToeplitz ()
  5438.    Dim Tmp1       As String
  5439.    Dim TmpA       As String
  5440.    Dim TmpC       As String
  5441.    Dim i          As Integer
  5442.    Dim j          As Integer
  5443.    Dim result     As Integer
  5444.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5445.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5446.    Randomize Timer
  5447.    For i = 1 To 1
  5448.       For j = 1 To 3
  5449.      arrayA(i, j) = Int(RandI * Rnd(1))
  5450.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5451.       Next j
  5452.       TmpA = TmpA + Chr$(13)
  5453.    Next i
  5454.    result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  5455.    For i = 1 To 3
  5456.       For j = 1 To 3
  5457.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5458.       Next j
  5459.       TmpC = TmpC + Chr$(13)
  5460.    Next i
  5461.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5462.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5463.    cStartBasisTimer
  5464.    For i = 1 To ItemFile
  5465.       result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  5466.    Next i
  5467.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5468.    Label3.Caption = Tmp1
  5469. End Sub
  5470. Sub TestMatrixTranspose ()
  5471.    Dim Tmp1       As String
  5472.    Dim TmpA       As String
  5473.    Dim TmpC       As String
  5474.    Dim i          As Integer
  5475.    Dim j          As Integer
  5476.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5477.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5478.    Randomize Timer
  5479.    For i = 1 To 3
  5480.       For j = 1 To 3
  5481.      arrayA(i, j) = Int(RandI * Rnd(1))
  5482.      arrayC(i, j) = 0
  5483.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5484.       Next j
  5485.       TmpA = TmpA + Chr$(13)
  5486.    Next i
  5487.    Call cMatrixTranspose(3, arrayA(), arrayC())
  5488.    For i = 1 To 3
  5489.       For j = 1 To 3
  5490.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5491.       Next j
  5492.       TmpC = TmpC + Chr$(13)
  5493.    Next i
  5494.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5495.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5496.    cStartBasisTimer
  5497.    For i = 1 To ItemFile
  5498.       Call cMatrixTranspose(3, arrayA(), arrayC())
  5499.    Next i
  5500.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5501.    Label3.Caption = Tmp1
  5502. End Sub
  5503. Sub TestMaxI ()
  5504.    Dim title      As String
  5505.    Dim Tmp        As String
  5506.    Dim Tmp1       As String
  5507.    Dim Tmp2       As String
  5508.    Dim i          As Integer
  5509.    Dim j          As Integer
  5510.    Dim m          As Double
  5511.    ReDim array(ItemMean) As Integer
  5512.    Randomize Timer
  5513.    For i = LBound(array) To UBound(array)
  5514.       array(i) = RandI * Rnd(1)
  5515.       List1.AddItem "" & array(i)
  5516.    Next i
  5517.    j = cSortI(array())
  5518.    For i = LBound(array) To UBound(array)
  5519.       List2.AddItem "" & array(i)
  5520.    Next i
  5521.    List2.ListIndex = List2.ListCount - 1
  5522.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  5523.    cStartBasisTimer
  5524.    For i = 1 To ItemFile
  5525.       m = cMaxI(array())
  5526.    Next i
  5527.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5528.    Label3.Caption = Tmp1
  5529. End Sub
  5530. Sub TestMaxNotXI ()
  5531.    Dim title      As String
  5532.    Dim Tmp        As String
  5533.    Dim Tmp1       As String
  5534.    Dim Tmp2       As String
  5535.    Dim i          As Integer
  5536.    Dim j          As Integer
  5537.    Dim m          As Double
  5538.    ReDim array(ItemMean) As Integer
  5539.    Randomize Timer
  5540.    For i = LBound(array) To UBound(array)
  5541.       array(i) = RandI * Rnd(1)
  5542.       List1.AddItem "" & array(i)
  5543.    Next i
  5544.    j = cSortI(array())
  5545.    For i = LBound(array) To UBound(array)
  5546.       List2.AddItem "" & array(i)
  5547.    Next i
  5548.    List2.ListIndex = List2.ListCount - 1
  5549.    Tmp1 = "The MAXNOTX of a integer array of " & (ItemMean + 1) & " elements (not '" & array(UBound(array)) & "') is " & Chr$(13) & Chr$(13) & cMaxNotXI(array(), array(UBound(array))) & Chr$(13) & Chr$(13)
  5550.    cStartBasisTimer
  5551.    For i = 1 To ItemFile
  5552.       m = cMaxNotXI(array(), array(UBound(array)))
  5553.    Next i
  5554.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5555.    Label3.Caption = Tmp1
  5556. End Sub
  5557. Sub TestMD5 ()
  5558.    Dim title      As String
  5559.    Dim Tmp        As String
  5560.    Dim Tmp1       As String
  5561.    Dim Tmp2       As String
  5562.    Dim Tmp3       As String
  5563.    Dim i          As Integer
  5564.    Dim j          As Long
  5565.    Tmp2 = "TIME TO WIN"
  5566.    Tmp = Text1.Text
  5567.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  5568.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  5569.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  5570.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  5571.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  5572.    cStartBasisTimer
  5573.    For i = 1 To Item
  5574.       Tmp3 = cHashMD5(Tmp2)
  5575.    Next i
  5576.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5577.    Label3.Caption = Tmp1
  5578. End Sub
  5579. Sub TestMDA (Management As Integer)
  5580.    Dim Tmp        As String
  5581.    Dim ErrCode    As Integer
  5582.    Dim MDA        As tagMULTIPLEDISKARRAY
  5583.    Dim TE         As tagTASKENTRY
  5584.    ErrCode = cMakeDir("c:\t2w_tmp")
  5585.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  5586.    MDA.nType(1) = DA_LONG     'long
  5587.    MDA.nIsTyped(1) = False
  5588.    MDA.nRows(1) = 20
  5589.    MDA.nCols(1) = 20
  5590.    MDA.nSheets(1) = 2
  5591.    MDA.nType(2) = 10          'string
  5592.    MDA.nIsTyped(2) = False
  5593.    MDA.nRows(2) = 20
  5594.    MDA.nCols(2) = 20
  5595.    MDA.nSheets(2) = 2
  5596.    MDA.nType(9) = Len(TE)     'type'd
  5597.    MDA.nIsTyped(9) = True
  5598.    MDA.nRows(9) = 20
  5599.    MDA.nCols(9) = 20
  5600.    MDA.nSheets(9) = 2
  5601.    Select Case Management
  5602.       Case True      'create
  5603.      ErrCode = cMDACreate(MDA, True)
  5604.       Case False     'use
  5605.      ErrCode = cMDACreate(MDA, False)
  5606.       Case 1         'clear all
  5607.      ErrCode = cMDACreate(MDA, False)
  5608.      If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  5609.      If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  5610.      If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  5611.       Case 2         'clear sheet 2
  5612.      ErrCode = cMDACreate(MDA, False)
  5613.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  5614.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  5615.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  5616.       Case 3         'clear last row
  5617.      ErrCode = cMDACreate(MDA, False)
  5618.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  5619.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  5620.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  5621.       Case 4         'clear last col
  5622.      ErrCode = cMDACreate(MDA, False)
  5623.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  5624.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  5625.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  5626.       Case 5         'clear last row in all sheets
  5627.      ErrCode = cMDACreate(MDA, False)
  5628.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  5629.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  5630.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  5631.       Case 6         'clear last col in all sheets
  5632.      ErrCode = cMDACreate(MDA, False)
  5633.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  5634.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  5635.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  5636.    End Select
  5637.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5638.    If (ErrCode = True) Then
  5639.       
  5640.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  5641.       Tmp = Tmp & "MDA.Signature       = " & MDA.Signature & Chr$(13)
  5642.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  5643.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  5644.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  5645.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  5646.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  5647.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  5648.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  5649.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  5650.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  5651.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  5652.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  5653.       If (Management = True) Then
  5654.      Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  5655.      Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  5656.       
  5657.      Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  5658.      Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  5659.       
  5660.      ErrCode = cTasks(TE, True)
  5661.      Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  5662.      ErrCode = cTasks(TE, False)
  5663.      Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5664.       
  5665.       End If
  5666.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5667.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  5668.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5669.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  5670.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  5671.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5672.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5673.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5674.    End If
  5675.    Call cMDAClose(MDA, False)
  5676.    Label3.Caption = Tmp
  5677. End Sub
  5678. Sub TestMeanI ()
  5679.    Dim title      As String
  5680.    Dim Tmp        As String
  5681.    Dim Tmp1       As String
  5682.    Dim Tmp2       As String
  5683.    Dim i          As Integer
  5684.    Dim j          As Integer
  5685.    Dim m          As Double
  5686.    ReDim array(ItemMean) As Integer
  5687.    Randomize Timer
  5688.    m = 0
  5689.    For i = LBound(array) To UBound(array)
  5690.       array(i) = Int(RandI * Rnd(1))
  5691.       m = m + array(i)
  5692.       List1.AddItem "" & array(i)
  5693.    Next i
  5694.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  5695.    cStartBasisTimer
  5696.    For i = 1 To ItemFile
  5697.       m = cMeanI(array())
  5698.    Next i
  5699.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5700.    Label3.Caption = Tmp1
  5701. End Sub
  5702. Sub TestMenuChange ()
  5703.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  5704.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  5705.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  5706.    Call cSysMenuChange(Me.hWnd, 3, "&Ic
  5707.    Call cSysMenuChange(Me.hWnd, 4, "&Plein 
  5708. cran")
  5709.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  5710.    Call cSysMenuChange(Me.hWnd, 8, "&T
  5711. che" + Chr$(9) + "Ctrl+Esc")
  5712. End Sub
  5713. Sub TestMin ()
  5714.    Dim title      As String
  5715.    Dim Tmp        As String
  5716.    Dim Tmp1       As String
  5717.    Dim Tmp2       As String
  5718.    Dim i          As Integer
  5719.    Dim j          As Long
  5720.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  5721.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  5722.    cStartBasisTimer
  5723.    For i = 1 To Item
  5724.       j = cMin(32760, 1234567)
  5725.    Next i
  5726.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5727.    Label3.Caption = Tmp1
  5728. End Sub
  5729. Sub TestMinI ()
  5730.    Dim title      As String
  5731.    Dim Tmp        As String
  5732.    Dim Tmp1       As String
  5733.    Dim Tmp2       As String
  5734.    Dim i          As Integer
  5735.    Dim j          As Integer
  5736.    Dim m          As Double
  5737.    ReDim array(ItemMean) As Integer
  5738.    Randomize Timer
  5739.    For i = LBound(array) To UBound(array)
  5740.       array(i) = RandI * Rnd(1)
  5741.       List1.AddItem "" & array(i)
  5742.    Next i
  5743.    j = cSortI(array())
  5744.    For i = LBound(array) To UBound(array)
  5745.       List2.AddItem "" & array(i)
  5746.    Next i
  5747.    List2.ListIndex = 0
  5748.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  5749.    cStartBasisTimer
  5750.    For i = 1 To ItemFile
  5751.       m = cMinI(array())
  5752.    Next i
  5753.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5754.    Label3.Caption = Tmp1
  5755. End Sub
  5756. Sub TestMinNotXI ()
  5757.    Dim title      As String
  5758.    Dim Tmp        As String
  5759.    Dim Tmp1       As String
  5760.    Dim Tmp2       As String
  5761.    Dim i          As Integer
  5762.    Dim j          As Integer
  5763.    Dim m          As Double
  5764.    ReDim array(ItemMean) As Integer
  5765.    Randomize Timer
  5766.    For i = LBound(array) To UBound(array)
  5767.       array(i) = RandI * Rnd(1)
  5768.       List1.AddItem "" & array(i)
  5769.    Next i
  5770.    j = cSortI(array())
  5771.    For i = LBound(array) To UBound(array)
  5772.       List2.AddItem "" & array(i)
  5773.    Next i
  5774.    List2.ListIndex = 0
  5775.    Tmp1 = "The MINNOTX of a integer array of " & (ItemMean + 1) & " elements (not '" & array(LBound(array)) & "') is " & Chr$(13) & Chr$(13) & cMinNotXI(array(), array(LBound(array))) & Chr$(13) & Chr$(13)
  5776.    cStartBasisTimer
  5777.    For i = 1 To ItemFile
  5778.       m = cMinNotXI(array(), array(LBound(array)))
  5779.    Next i
  5780.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5781.    Label3.Caption = Tmp1
  5782. End Sub
  5783. Sub TestMixChars ()
  5784.    Dim title      As String
  5785.    Dim Tmp        As String
  5786.    Dim Tmp1       As String
  5787.    Dim Tmp2       As String
  5788.    Dim i          As Integer
  5789.    Dim j          As Integer
  5790.    Tmp = Text1.Text
  5791.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5792.    Tmp = "TIME TO WIN"
  5793.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5794.    Tmp = "Nothing can beat the fox"
  5795.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5796.    Tmp = Text1.Text
  5797.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5798.    cStartBasisTimer
  5799.    For i = 1 To Item
  5800.       Tmp2 = cMixChars(Tmp)
  5801.    Next i
  5802.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5803.    Label3.Caption = Tmp1
  5804. End Sub
  5805. Sub TestMnuLanguage ()
  5806.    Load frmLng
  5807.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5808.    frmLng.Show
  5809. End Sub
  5810. Sub TestMorse ()
  5811.    Dim title      As String
  5812.    Dim Tmp        As String
  5813.    Dim Tmp1       As String
  5814.    Dim Tmp2       As String
  5815.    Dim i          As Integer
  5816.    Dim j          As Integer
  5817.    Tmp = "SOS"
  5818.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5819.    Tmp = "TIME TO WIN"
  5820.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5821.    Tmp = "Nothing can beat the fox"
  5822.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5823.    Tmp = Text1.Text
  5824.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5825.    cStartBasisTimer
  5826.    For i = 1 To Item
  5827.       Tmp2 = cMorse(Tmp)
  5828.    Next i
  5829.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5830.    Label3.Caption = Tmp1
  5831. End Sub
  5832. Sub TestMsgBox ()
  5833.    Dim i       As Integer
  5834.    Dim n       As Integer
  5835.    Dim Tmp     As String
  5836.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  5837.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  5838.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  5839.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  5840.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  5841.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  5842.    For i = 0 To 5
  5843.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  5844.    Next i
  5845. End Sub
  5846. Sub TestOneCharFromLeft ()
  5847.    Dim title      As String
  5848.    Dim Tmp        As String
  5849.    Dim Tmp1       As String
  5850.    Dim Tmp2       As String
  5851.    Dim i          As Integer
  5852.    Dim j          As Integer
  5853.    Tmp = Text1.Text
  5854.    title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5855.    Tmp = Text1.Text
  5856.    Tmp1 = title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  5857.    cStartBasisTimer
  5858.    For i = 1 To Item
  5859.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  5860.    Next i
  5861.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5862.    Label3.Caption = Tmp1
  5863. End Sub
  5864. Sub TestOneCharFromRight ()
  5865.    Dim title      As String
  5866.    Dim Tmp        As String
  5867.    Dim Tmp1       As String
  5868.    Dim Tmp2       As String
  5869.    Dim i          As Integer
  5870.    Dim j          As Integer
  5871.    Tmp = Text1.Text
  5872.    title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5873.    Tmp = Text1.Text
  5874.    Tmp1 = title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  5875.    cStartBasisTimer
  5876.    For i = 1 To Item
  5877.       Tmp2 = cOneCharFromRight(Tmp, 2)
  5878.    Next i
  5879.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5880.    Label3.Caption = Tmp1
  5881. End Sub
  5882. Sub TestOrToken ()
  5883.    Dim title      As String
  5884.    Dim Tmp        As String
  5885.    Dim Tmp1       As String
  5886.    Dim Tmp2       As String
  5887.    Dim i          As Integer
  5888.    Dim j          As Integer
  5889.    Tmp = "FOX|OVER|THE"
  5890.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5891.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5892.    Tmp = "quick|jumps|the"
  5893.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5894.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5895.    Tmp = "FOX\OVER\THE"
  5896.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5897.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5898.    Tmp = "quick\jumps\the"
  5899.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5900.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5901.    Tmp = "FOX/OVER/THE"
  5902.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5903.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5904.    Tmp = "quick\JUMPS\the"
  5905.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5906.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5907.    Tmp = LCase$("quick\jumps\THE")
  5908.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  5909.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5910.    cStartBasisTimer
  5911.    For i = 1 To Item
  5912.       j = cOrToken(Tmp2, Tmp)
  5913.    Next i
  5914.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5915.    Label3.Caption = Tmp1
  5916. End Sub
  5917. Sub TestPatternExtMatch ()
  5918.    Dim title      As String
  5919.    Dim Tmp        As String
  5920.    Dim Tmp1       As String
  5921.    Dim Tmp2       As String
  5922.    Dim Tmp3       As String
  5923.    Dim i          As Integer
  5924.    Dim j          As Integer
  5925.    Tmp2 = "Under the blue sky, the sun lights"
  5926.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5927.    Tmp3 = "*"
  5928.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5929.    Tmp3 = "*??*???*?"
  5930.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5931.    Tmp3 = "*Under*"
  5932.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5933.    Tmp3 = "*sky*"
  5934.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5935.    Tmp3 = "*lights"
  5936.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5937.    Tmp3 = "??der*sky*ligh??*"
  5938.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5939.    Tmp3 = "Under?the * s??,*"
  5940.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5941.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  5942.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5943.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  5944.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5945.    Tmp3 = "~55~6E*~73"
  5946.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5947.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  5948.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5949.    Tmp3 = "Under?the *[~72~73~74~75]"
  5950.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5951.    Tmp3 = "*under*"
  5952.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5953.    Tmp3 = "Under*sun"
  5954.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5955.    Tmp3 = "Under t??e*"
  5956.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5957.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  5958.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5959.    Tmp3 = "~55~6G*~73"
  5960.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5961.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  5962.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5963.    Tmp3 = "Under?the *[~72~53~74~75]"
  5964.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5965.    Tmp3 = "Under?the * s??,*"
  5966.    cStartBasisTimer
  5967.    For i = 1 To Item
  5968.       j = cPatternExtMatch(Tmp2, Tmp3)
  5969.    Next i
  5970.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5971.    Label3.Caption = Tmp1
  5972. End Sub
  5973. Sub TestPatternMatch ()
  5974.    Dim title      As String
  5975.    Dim Tmp        As String
  5976.    Dim Tmp1       As String
  5977.    Dim Tmp2       As String
  5978.    Dim Tmp3       As String
  5979.    Dim i          As Integer
  5980.    Dim j          As Integer
  5981.    Tmp2 = "Under the blue sky, the sun lights"
  5982.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5983.    Tmp3 = "*"
  5984.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5985.    Tmp3 = "*??*???*?"
  5986.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5987.    Tmp3 = "*Under*"
  5988.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5989.    Tmp3 = "*sky*"
  5990.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5991.    Tmp3 = "*lights"
  5992.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5993.    Tmp3 = "??der*sky*ligh??*"
  5994.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5995.    Tmp3 = "Under?the * s??,*"
  5996.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5997.    Tmp3 = "*under*"
  5998.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5999.    Tmp3 = "Under*sun"
  6000.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  6001.    Tmp3 = "Under t??e*"
  6002.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  6003.    Tmp3 = "Under?the * s??,*"
  6004.    cStartBasisTimer
  6005.    For i = 1 To Item
  6006.       j = cPatternMatch(Tmp2, Tmp3)
  6007.    Next i
  6008.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6009.    Label3.Caption = Tmp1
  6010. End Sub
  6011. Sub TestProperName ()
  6012.    Dim title      As String
  6013.    Dim Tmp        As String
  6014.    Dim Tmp1       As String
  6015.    Dim Tmp2       As String
  6016.    Dim i          As Integer
  6017.    Dim j          As Integer
  6018.    Tmp = Text1.Text
  6019.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  6020.    Tmp = "John fitz,jr"
  6021.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  6022.    Tmp = "john Fitz, jr"
  6023.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  6024.    Tmp = "macdonald"
  6025.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  6026.    Tmp = "mac donald"
  6027.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  6028.    cStartBasisTimer
  6029.    For i = 1 To Item
  6030.       Tmp2 = cProperName(Tmp)
  6031.    Next i
  6032.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6033.    Label3.Caption = Tmp1
  6034. End Sub
  6035. Sub TestProperName2 ()
  6036.    Dim title      As String
  6037.    Dim Tmp        As String
  6038.    Dim Tmp1       As String
  6039.    Dim Tmp2       As String
  6040.    Dim i          As Integer
  6041.    Dim j          As Integer
  6042.    Tmp = Text1.Text
  6043.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  6044.    Tmp = "JOHN FITZ,JR"
  6045.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  6046.    Tmp = "john Fitz,jr"
  6047.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  6048.    Tmp = "macdonald"
  6049.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  6050.    Tmp = "mac donald"
  6051.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  6052.    Tmp = "a.l. greene jr."
  6053.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  6054.    Tmp = "shale and sandstone and till"
  6055.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  6056.    Tmp = "a sandstone or a shale"
  6057.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  6058.    Tmp = "RR2 BARRHEAD"
  6059.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  6060.    Tmp = "ANDY MACDONALD"
  6061.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  6062.    cStartBasisTimer
  6063.    For i = 1 To Item
  6064.       Tmp2 = cProperName2(Tmp, "", 0)
  6065.    Next i
  6066.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6067.    Label3.Caption = Tmp1
  6068. End Sub
  6069. Sub TestRcsCountFileDir ()
  6070.    Dim title      As String
  6071.    Dim Tmp        As String
  6072.    Dim Tmp1       As String
  6073.    Dim Tmp2       As String
  6074.    Dim i          As Integer
  6075.    Dim j          As Integer
  6076.    Dim k          As Integer
  6077.    Tmp1 = ""
  6078.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & Chr$(13)
  6079.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & Chr$(13)
  6080.    Tmp1 = Tmp1 & Chr$(13)
  6081.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & Chr$(13)
  6082.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & Chr$(13)
  6083.    Tmp1 = Tmp1 & Chr$(13)
  6084.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & Chr$(13)
  6085.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & Chr$(13)
  6086.    Tmp1 = Tmp1 & Chr$(13)
  6087.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & Chr$(13)
  6088.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & Chr$(13)
  6089.    Tmp1 = Tmp1 & Chr$(13)
  6090.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & Chr$(13)
  6091.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & Chr$(13)
  6092.    Tmp1 = Tmp1 & Chr$(13)
  6093.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & Chr$(13)
  6094.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & Chr$(13)
  6095.    Tmp1 = Tmp1 & Chr$(13)
  6096.    cStartBasisTimer
  6097.    For i = 1 To 10
  6098.       k = cRcsCountFileDir(False, "C:", "", False)
  6099.    Next i
  6100.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  6101.    Label3.Caption = Tmp1
  6102. End Sub
  6103. Sub TestRcsFilesSize ()
  6104.    Dim title      As String
  6105.    Dim Tmp        As String
  6106.    Dim Tmp1       As String
  6107.    Dim Tmp2       As String
  6108.    Dim i          As Integer
  6109.    Dim j          As Integer
  6110.    Dim k          As Long
  6111.    Dim Size1      As Double
  6112.    Dim Size2      As Double
  6113.    Tmp1 = ""
  6114.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & Chr$(13)
  6115.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & Chr$(13)
  6116.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & Chr$(13)
  6117.    Tmp1 = Tmp1 & Chr$(13)
  6118.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & Chr$(13)
  6119.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & Chr$(13)
  6120.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & Chr$(13)
  6121.    Tmp1 = Tmp1 & Chr$(13)
  6122.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & Chr$(13)
  6123.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & Chr$(13)
  6124.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & Chr$(13)
  6125.    Tmp1 = Tmp1 & Chr$(13)
  6126.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & Chr$(13)
  6127.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & Chr$(13)
  6128.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & Chr$(13)
  6129.    Tmp1 = Tmp1 & Chr$(13)
  6130.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & Chr$(13)
  6131.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & Chr$(13)
  6132.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & Chr$(13)
  6133.    Tmp1 = Tmp1 & Chr$(13)
  6134.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & Chr$(13)
  6135.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & Chr$(13)
  6136.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & Chr$(13)
  6137.    Tmp1 = Tmp1 & Chr$(13)
  6138.    cStartBasisTimer
  6139.    For i = 1 To 10
  6140.       k = cRcsFilesSize("c:\", "*.*", False)
  6141.    Next i
  6142.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  6143.    Label3.Caption = Tmp1
  6144. End Sub
  6145. Sub TestReadLanguage ()
  6146.    Load frmLng
  6147.    Call cShowWindow(frmLng.hWnd, 1, 340)
  6148.    frmLng.Show
  6149. End Sub
  6150. Sub TestRegistrationKey ()
  6151.    Dim title      As String
  6152.    Dim Tmp        As String
  6153.    Dim Tmp1       As String
  6154.    Dim Tmp2       As String
  6155.    Dim Tmp3       As String
  6156.    Dim i          As Integer
  6157.    Dim j          As Long
  6158.    Tmp2 = "TIME TO WIN"
  6159.    Tmp3 = "12345"
  6160.    Tmp = Text1.Text
  6161.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  6162.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  6163.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  6164.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6165.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6166.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6167.    cStartBasisTimer
  6168.    For i = 1 To Item
  6169.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  6170.    Next i
  6171.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6172.    Label3.Caption = Tmp1
  6173. End Sub
  6174. Sub TestRemoveBlockChar ()
  6175.    Dim title      As String
  6176.    Dim Tmp        As String
  6177.    Dim Tmp1       As String
  6178.    Dim Tmp2       As String
  6179.    Dim i          As Integer
  6180.    Dim j          As Integer
  6181.    Tmp = Text1.Text
  6182.    title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  6183.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  6184.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6185.    cStartBasisTimer
  6186.    For i = 1 To Item
  6187.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  6188.    Next i
  6189.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6190.    Label3.Caption = Tmp1
  6191. End Sub
  6192. Sub TestRemoveOneChar ()
  6193.    Dim title      As String
  6194.    Dim Tmp        As String
  6195.    Dim Tmp1       As String
  6196.    Dim Tmp2       As String
  6197.    Dim i          As Integer
  6198.    Dim j          As Integer
  6199.    Tmp = Text1.Text
  6200.    title = "Removing the 7 char of [" & Tmp & "] is "
  6201.    Tmp = cRemoveOneChar(Tmp, 7)
  6202.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6203.    cStartBasisTimer
  6204.    For i = 1 To Item
  6205.       Tmp = cRemoveOneChar(Tmp, 1)
  6206.    Next i
  6207.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6208.    Label3.Caption = Tmp1
  6209. End Sub
  6210. Sub TestRenameFile ()
  6211.    Dim title      As String
  6212.    Dim Tmp        As String
  6213.    Dim Tmp1       As String
  6214.    Dim Tmp2       As String
  6215.    Dim i          As Integer
  6216.    Dim j          As Integer
  6217.    j = cKillFile("XY~YX~XY.~~~")
  6218.    j = cKillFile("XY-YX-XY.---")
  6219.    Close #1
  6220.    Open "XY~YX~XY.~~~" For Output As #1
  6221.    Print #1, "this is a test";
  6222.    Close #1
  6223.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  6224.    cStartBasisTimer
  6225.    For i = 1 To ItemFile
  6226.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  6227.    Next i
  6228.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6229.    Label3.Caption = Tmp1
  6230. End Sub
  6231. Sub TestResizeString ()
  6232.    Dim title      As String
  6233.    Dim Tmp        As String
  6234.    Dim Tmp1       As String
  6235.    Dim Tmp2       As String
  6236.    Dim i          As Integer
  6237.    Dim j          As Integer
  6238.    Tmp = Text1.Text
  6239.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  6240.    cStartBasisTimer
  6241.    For i = 1 To Item
  6242.       Tmp2 = cResizeString(Tmp, 3)
  6243.    Next i
  6244.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6245.    Label3.Caption = Tmp1
  6246. End Sub
  6247. Sub TestResizeStringAndFill ()
  6248.    Dim title      As String
  6249.    Dim Tmp        As String
  6250.    Dim Tmp1       As String
  6251.    Dim Tmp2       As String
  6252.    Dim i          As Integer
  6253.    Dim j          As Integer
  6254.    Tmp = Text1.Text
  6255.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  6256.    cStartBasisTimer
  6257.    For i = 1 To Item
  6258.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  6259.    Next i
  6260.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6261.    Label3.Caption = Tmp1
  6262. End Sub
  6263. Sub TestReverse ()
  6264.    Dim title      As String
  6265.    Dim Tmp        As String
  6266.    Dim Tmp1       As String
  6267.    Dim Tmp2       As String
  6268.    Dim i          As Integer
  6269.    Dim j          As Integer
  6270.    Tmp = Text1.Text
  6271.    title = "Reverse of [" & Tmp & "] is "
  6272.    Tmp1 = title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  6273.    cStartBasisTimer
  6274.    For i = 1 To Item
  6275.       Tmp2 = cReverse(Tmp)
  6276.    Next i
  6277.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6278.    Label3.Caption = Tmp1
  6279. End Sub
  6280. Sub TestReverseAllBits ()
  6281.    Dim title      As String
  6282.    Dim Tmp        As String
  6283.    Dim Tmp1       As String
  6284.    Dim Tmp2       As String
  6285.    Dim i          As Integer
  6286.    Dim j          As Integer
  6287.    Tmp = Text1.Text
  6288.    title = "Reverse all bits of [" & Tmp & "] is "
  6289.    Call cReverseAllBits(Tmp)
  6290.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6291.    title = "Reverse all bits of [" & Tmp & "] is "
  6292.    Call cReverseAllBits(Tmp)
  6293.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  6294.    cStartBasisTimer
  6295.    For i = 1 To Item
  6296.       Call cReverseAllBits(Tmp)
  6297.    Next i
  6298.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6299.    Label3.Caption = Tmp1
  6300. End Sub
  6301. Sub TestReverseAllBitsByChar ()
  6302.    Dim title      As String
  6303.    Dim Tmp        As String
  6304.    Dim Tmp1       As String
  6305.    Dim Tmp2       As String
  6306.    Dim i          As Integer
  6307.    Dim j          As Integer
  6308.    Tmp = Text1.Text
  6309.    title = "Reverse all bits by char of [" & Tmp & "] is "
  6310.    Call cReverseAllBitsByChar(Tmp)
  6311.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6312.    title = "Reverse all bits by char of [" & Tmp & "] is "
  6313.    Call cReverseAllBitsByChar(Tmp)
  6314.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  6315.    cStartBasisTimer
  6316.    For i = 1 To Item
  6317.       Call cReverseAllBitsByChar(Tmp)
  6318.    Next i
  6319.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6320.    Label3.Caption = Tmp1
  6321. End Sub
  6322. Sub TestReverseSortI ()
  6323.    Dim title      As String
  6324.    Dim Tmp        As String
  6325.    Dim Tmp1       As String
  6326.    Dim Tmp2       As String
  6327.    Dim i          As Integer
  6328.    Dim j          As Integer
  6329.    Dim m          As Integer
  6330.    ReDim array(ItemMean) As Integer
  6331.    Randomize Timer
  6332.    For i = LBound(array) To UBound(array)
  6333.       array(i) = RandI * Rnd(1)
  6334.       List1.AddItem "" & array(i)
  6335.    Next i
  6336.    j = cReverseSortI(array())
  6337.    For i = LBound(array) To UBound(array)
  6338.       List2.AddItem "" & array(i)
  6339.    Next i
  6340.    cStartBasisTimer
  6341.    For i = 1 To ItemFile
  6342.       j = cReverseSortI(array())
  6343.    Next i
  6344.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6345.    Label3.Caption = Tmp1
  6346. End Sub
  6347. Sub TestRndX ()
  6348.    Dim title      As String
  6349.    Dim Tmp        As String
  6350.    Dim Tmp1       As String
  6351.    Dim Tmp2       As String
  6352.    Dim i          As Integer
  6353.    Dim j          As Integer
  6354.    Call cRndInit(-1)
  6355.    Tmp1 = "Some random Integer number" & Chr$(13) & Chr$(13)
  6356.    For i = 1 To 2
  6357.       Tmp1 = Tmp1 & cRndI() & Chr$(13)
  6358.    Next i
  6359.    Tmp1 = Tmp1 & Chr$(13)
  6360.    Tmp1 = Tmp1 & "Some random Long number" & Chr$(13) & Chr$(13)
  6361.    For i = 1 To 2
  6362.       Tmp1 = Tmp1 & cRndL() & Chr$(13)
  6363.    Next i
  6364.    Tmp1 = Tmp1 & Chr$(13)
  6365.    Tmp1 = Tmp1 & "Some random Single number" & Chr$(13) & Chr$(13)
  6366.    For i = 1 To 2
  6367.       Tmp1 = Tmp1 & cRndS() & Chr$(13)
  6368.    Next i
  6369.    Tmp1 = Tmp1 & Chr$(13)
  6370.    Tmp1 = Tmp1 & "Some random Double number" & Chr$(13) & Chr$(13)
  6371.    For i = 1 To 2
  6372.       Tmp1 = Tmp1 & cRndD() & Chr$(13)
  6373.    Next i
  6374.    Tmp1 = Tmp1 & Chr$(13)
  6375.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & Chr$(13) & Chr$(13)
  6376.    For i = 1 To 2
  6377.       Tmp1 = Tmp1 & cRnd() & Chr$(13)
  6378.    Next i
  6379.    Tmp1 = Tmp1 & Chr$(13)
  6380.    cStartBasisTimer
  6381.    For i = 1 To Item
  6382.       j = cRndI()
  6383.    Next i
  6384.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6385.    Label3.Caption = Tmp1
  6386. End Sub
  6387. Sub TestRtoA ()
  6388.    Dim Tmp        As String
  6389.    Dim Tmp1       As String
  6390.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  6391.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6392.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  6393.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6394.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  6395.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6396.    Label3.Caption = Tmp1
  6397. End Sub
  6398. Sub TestRUBYencrypt (Mode As Integer)
  6399.    Dim lngResult        As Long
  6400.    Dim strResult        As String
  6401.    Dim strDisplay       As String
  6402.    Dim i                As Integer
  6403.    Dim Str1             As String
  6404.    Dim Str2             As String
  6405.    Dim Key              As String
  6406.    Dim DescMode         As String
  6407.    strResult = ""
  6408.    strDisplay = ""
  6409.    Select Case Mode
  6410.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  6411.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  6412.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  6413.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  6414.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  6415.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  6416.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  6417.    End Select
  6418.    strDisplay = strDisplay & DescMode & Chr$(13) & Chr$(13)
  6419.    Key = "1234567890123456"
  6420.    Str1 = "TIME TO WIN"
  6421.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6422.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6423.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6424.    strDisplay = strDisplay & Chr$(13)
  6425.    Str1 = "TIME2WIN a DLL for VB 3.0"
  6426.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6427.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6428.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6429.    strDisplay = strDisplay & Chr$(13)
  6430.    Str1 = "Under the sky, the sun lights"
  6431.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6432.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6433.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6434.    strDisplay = strDisplay & Chr$(13)
  6435.    Str1 = "the fox jump over over the lazy dogs"
  6436.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6437.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6438.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6439.    strDisplay = strDisplay & Chr$(13)
  6440.    'time the function
  6441.    cStartBasisTimer
  6442.    For i = 1 To Item
  6443.       strResult = cRUBYencrypt(Str1, Key, Mode)
  6444.    Next i
  6445.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6446.    Label3.Caption = strDisplay
  6447. End Sub
  6448. Sub TestRUBYencryptFile (Mode As Integer)
  6449.    Dim lngResult        As Long
  6450.    Dim strResult        As String
  6451.    Dim strDisplay       As String
  6452.    Dim i                As Integer
  6453.    Dim File1            As String
  6454.    Dim File2            As String
  6455.    Dim File3            As String
  6456.    Dim Key              As String
  6457.    Dim DescMode         As String
  6458.    strResult = ""
  6459.    strDisplay = ""
  6460.    Select Case Mode
  6461.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  6462.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  6463.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  6464.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  6465.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  6466.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  6467.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  6468.    End Select
  6469.    strDisplay = strDisplay & DescMode & Chr$(13) & Chr$(13)
  6470.    File1 = "c:\autoexec.bat"
  6471.    File2 = "c:\autoexec.rub"
  6472.    File3 = "c:\autoexec.bur"
  6473.    Key = "1234567890123456"
  6474.    strDisplay = strDisplay & "encryptFile '" & File1 & "' with '?' to '" & File2 & "' is " & cRUBYencryptFile(File1, File2, Key, Mode) & Chr$(13)
  6475.    strDisplay = strDisplay & "decryptFile '" & File2 & "' with '?' to '" & File3 & "' is " & cRUBYdecryptFile(File2, File3, Key, Mode) & Chr$(13)
  6476.    strDisplay = strDisplay & "Compare (ns) '" & File1 & "' with '" & File3 & "' is " & IIf(cCmpFileContents(File1, File3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  6477.    cStartBasisTimer
  6478.    For i = 1 To Item
  6479.       lngResult = cRUBYencryptFile(File1, File2, Key, Mode)
  6480.    Next i
  6481.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6482.    Label3.Caption = strDisplay
  6483. End Sub
  6484. Sub TestSearchI ()
  6485.    Dim title      As String
  6486.    Dim Tmp        As String
  6487.    Dim Tmp1       As String
  6488.    Dim Tmp2       As String
  6489.    Dim i          As Integer
  6490.    Dim j          As Integer
  6491.    Dim m          As Integer
  6492.    ReDim array(20) As Integer
  6493.    Call cRndInit(-1)
  6494.    For i = LBound(array) To UBound(array)
  6495.       array(i) = cRndI()
  6496.       List1.AddItem "" & array(i)
  6497.    Next i
  6498.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & Chr$(13)
  6499.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & Chr$(13)
  6500.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & Chr$(13)
  6501.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & Chr$(13)
  6502.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & Chr$(13)
  6503.    cStartBasisTimer
  6504.    For i = 1 To ItemFile
  6505.       j = cSearchI(array(), array(1))
  6506.    Next i
  6507.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6508.    Label3.Caption = Tmp1
  6509. End Sub
  6510. Sub TestSerial ()
  6511.    Dim Tmp           As String
  6512.    Dim Tmp1          As String
  6513.    Dim getSD         As tagSERIALDATA
  6514.    Dim putSD         As tagSERIALDATA
  6515.    Dim i             As Integer
  6516.    Dim j             As Integer
  6517.    Call CreateFile
  6518.    Tmp1 = "TEST.DAT"
  6519.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6520.    putSD.Description1 = "TIME TO WIN demonstration"
  6521.    putSD.Description2 = "Under the blue sky, the sun lights"
  6522.    putSD.Number = 136
  6523.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  6524.    i = cSerialGet(Tmp1, getSD)
  6525.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6526.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6527.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6528.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6529.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  6530.    i = cSerialGet(Tmp1, getSD)
  6531.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6532.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6533.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6534.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6535.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  6536.    i = cSerialGet(Tmp1, getSD)
  6537.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6538.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6539.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6540.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6541.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6542.    cStartBasisTimer
  6543.    For i = 1 To ItemFile
  6544.       j = cSerialGet(Tmp1, getSD)
  6545.    Next i
  6546.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6547.    Label3.Caption = Tmp
  6548. End Sub
  6549. Sub TestSetAllBits ()
  6550.    Dim title      As String
  6551.    Dim Tmp        As String
  6552.    Dim Tmp1       As String
  6553.    Dim Tmp2       As String
  6554.    Dim i          As Integer
  6555.    Dim j          As Integer
  6556.    Tmp = Text1.Text
  6557.    title = "Set all bits of [" & Tmp & "] on True is "
  6558.    Call cSetAllBits(Tmp, True)
  6559.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6560.    title = "Set all bits of [" & Tmp & "] on False is "
  6561.    Call cSetAllBits(Tmp, False)
  6562.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6563.    cStartBasisTimer
  6564.    For i = 1 To Item
  6565.       Call cSetAllBits(Tmp, True)
  6566.    Next i
  6567.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6568.    Label3.Caption = Tmp1
  6569. End Sub
  6570. Sub TestSetBit ()
  6571.    Dim title      As String
  6572.    Dim Tmp        As String
  6573.    Dim Tmp1       As String
  6574.    Dim Tmp2       As String
  6575.    Dim i          As Integer
  6576.    Dim j          As Integer
  6577.    Tmp = Text1.Text
  6578.    title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  6579.    Call cSetBit(Tmp, 0, True)
  6580.    Call cSetBit(Tmp, 5, True)
  6581.    Call cSetBit(Tmp, 3, True)
  6582.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6583.    title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  6584.    Call cSetBit(Tmp, 22, False)
  6585.    Call cSetBit(Tmp, 30, False)
  6586.    Call cSetBit(Tmp, 38, False)
  6587.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6588.    title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  6589.    Call cSetBit(Tmp, 0, False)
  6590.    Call cSetBit(Tmp, 5, False)
  6591.    Call cSetBit(Tmp, 3, False)
  6592.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6593.    title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  6594.    Call cSetBit(Tmp, 22, True)
  6595.    Call cSetBit(Tmp, 30, True)
  6596.    Call cSetBit(Tmp, 38, True)
  6597.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6598.    cStartBasisTimer
  6599.    For i = 1 To Item
  6600.       Call cSetBit(Tmp, 7, True)
  6601.    Next i
  6602.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6603.    Label3.Caption = Tmp1
  6604. End Sub
  6605. Sub TestSetBitValue ()
  6606.    Dim intResult        As Integer
  6607.    Dim strResult        As String
  6608.    Dim strDisplay       As String
  6609.    Dim iData            As Integer
  6610.    Dim lData            As Long
  6611.    Dim sData            As Single
  6612.    Dim dData            As Double
  6613.    Dim i                As Integer
  6614.    intResult = 0
  6615.    strResult = ""
  6616.    strDisplay = ""
  6617.    iData = Abs(cRndI())
  6618.    lData = Abs(cRndL())
  6619.    sData = Abs(cRndS())
  6620.    dData = Abs(cRndD())
  6621.      
  6622.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6623.    Call cSetBitI(iData, 3, True)
  6624.    strDisplay = strDisplay + "   set bit 3 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6625.    Call cSetBitI(iData, 6, False)
  6626.    strDisplay = strDisplay + "   reset bit 6 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6627.    Call cSetBitI(iData, 9, True)
  6628.    strDisplay = strDisplay + "   set bit 9 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13) & Chr$(13)
  6629.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6630.    Call cSetBitL(lData, 6, True)
  6631.    strDisplay = strDisplay + "   set bit 6 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6632.    Call cSetBitL(lData, 12, False)
  6633.    strDisplay = strDisplay + "   reset bit 12 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6634.    Call cSetBitL(lData, 24, True)
  6635.    strDisplay = strDisplay + "   set bit 24 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13) & Chr$(13)
  6636.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6637.    Call cSetBitS(sData, 0, True)
  6638.    strDisplay = strDisplay + "   set bit 0 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6639.    Call cSetBitS(sData, 3, True)
  6640.    strDisplay = strDisplay + "   set bit 3 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6641.    Call cSetBitS(sData, 6, True)
  6642.    strDisplay = strDisplay + "   set bit 6 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6643.    Call cSetBitS(sData, 12, True)
  6644.    strDisplay = strDisplay + "   set bit 12 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6645.    Call cSetBitS(sData, 24, True)
  6646.    strDisplay = strDisplay + "   set bit 24 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13) & Chr$(13)
  6647.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6648.    Call cSetBitD(dData, 0, False)
  6649.    strDisplay = strDisplay + "   reset bit 0 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6650.    Call cSetBitD(dData, 3, False)
  6651.    strDisplay = strDisplay + "   reset bit 3 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6652.    Call cSetBitD(dData, 12, False)
  6653.    strDisplay = strDisplay + "   reset bit 12 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6654.    Call cSetBitD(dData, 24, False)
  6655.    strDisplay = strDisplay + "   reset bit 24 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6656.    Call cSetBitD(dData, 48, False)
  6657.    strDisplay = strDisplay + "   reset bit 48 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13) & Chr$(13)
  6658.    'time the function
  6659.    cStartBasisTimer
  6660.    For i = 1 To ItemFile
  6661.       Call cSetBitI(iData, 0, True)
  6662.    Next i
  6663.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6664.    Label3.Caption = strDisplay
  6665. End Sub
  6666. Sub TestSetI ()
  6667.    Dim title      As String
  6668.    Dim Tmp        As String
  6669.    Dim Tmp1       As String
  6670.    Dim Tmp2       As String
  6671.    Dim i          As Integer
  6672.    Dim j          As Integer
  6673.    Dim m          As Double
  6674.    ReDim array(ItemMean) As Integer
  6675.    Randomize Timer
  6676.    For i = LBound(array) To UBound(array)
  6677.       array(i) = 0
  6678.       List1.AddItem "" & array(i)
  6679.    Next i
  6680.    j = cSetI(array(), 1024)
  6681.    For i = LBound(array) To UBound(array)
  6682.       List2.AddItem "" & array(i)
  6683.    Next i
  6684.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  6685.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  6686.    cStartBasisTimer
  6687.    For i = 1 To ItemFile
  6688.       j = cSetI(array(), 1.11)
  6689.    Next i
  6690.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6691.    Label3.Caption = Tmp1
  6692. End Sub
  6693. Sub TestSortI ()
  6694.    Dim title      As String
  6695.    Dim Tmp        As String
  6696.    Dim Tmp1       As String
  6697.    Dim Tmp2       As String
  6698.    Dim i          As Integer
  6699.    Dim j          As Integer
  6700.    Dim m          As Integer
  6701.    ReDim array(ItemMean) As Integer
  6702.    Randomize Timer
  6703.    For i = LBound(array) To UBound(array)
  6704.       array(i) = RandI * Rnd(1)
  6705.       List1.AddItem "" & array(i)
  6706.    Next i
  6707.    j = cSortI(array())
  6708.    For i = LBound(array) To UBound(array)
  6709.       List2.AddItem "" & array(i)
  6710.    Next i
  6711.    cStartBasisTimer
  6712.    For i = 1 To ItemFile
  6713.       j = cSortI(array())
  6714.    Next i
  6715.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6716.    Label3.Caption = Tmp1
  6717. End Sub
  6718. Sub TestSpellMoney ()
  6719.    Dim title      As String
  6720.    Dim Tmp        As String
  6721.    Dim Tmp1       As String
  6722.    Dim Tmp2       As String
  6723.    Dim i          As Integer
  6724.    Dim j          As Integer
  6725.    Dim Units      As String
  6726.    Dim Cents      As String
  6727.    Units = "dollars"
  6728.    Cents = "cents"
  6729.    Tmp1 = "Spelling the following money value " & Chr$(13) & Chr$(13)
  6730.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6731.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6732.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6733.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6734.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6735.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6736.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6737.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6738.    cStartBasisTimer
  6739.    For i = 1 To Item
  6740.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  6741.    Next i
  6742.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6743.    Label3.Caption = Tmp1
  6744. End Sub
  6745. Sub TestSplitFile ()
  6746.    Dim title         As String
  6747.    Dim Tmp           As String
  6748.    Dim Tmp1          As String
  6749.    Dim Tmp2          As String
  6750.    Dim Tmp3          As String
  6751.    Dim i             As Integer
  6752.    Dim j             As Long
  6753.    Dim PartSize      As Long
  6754.    Tmp1 = ""
  6755.    Tmp = "c:\autoexec.bat"
  6756.    Tmp2 = "c:\autosplt"
  6757.    PartSize = 512
  6758.    Tmp1 = Tmp1 & "FileSize of '" & Tmp & "' is " & cFileSize(Tmp) & Chr$(13) & Chr$(13)
  6759.    j = cSplitFile(Tmp, Tmp2, PartSize)
  6760.    Tmp1 = Tmp1 & "SplitFile '" & Tmp & "' in part size of '" & PartSize & "' is " & j & Chr$(13) & Chr$(13)
  6761.    For i = 0 To (j - 1)
  6762.       Tmp3 = Tmp2 & "." & Format$(i, "000")
  6763.       Tmp1 = Tmp1 & "FileSize of '" & Tmp3 & "' is " & cFileSize(Tmp3) & Chr$(13)
  6764.    Next i
  6765.    Tmp1 = Tmp1 & Chr$(13)
  6766.    cStartBasisTimer
  6767.    For i = 1 To Item
  6768.       j = cSplitFile(Tmp, Tmp2, PartSize)
  6769.    Next i
  6770.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6771.    Label3.Caption = Tmp1
  6772. End Sub
  6773. Sub TestSplitPath ()
  6774.    Dim title      As String
  6775.    Dim Tmp        As String
  6776.    Dim Tmp1       As String
  6777.    Dim Tmp2       As String
  6778.    Dim Tmp3       As String
  6779.    Dim i          As Integer
  6780.    Dim n          As Integer
  6781.    Dim j          As Long
  6782.    Dim SPLITPATH  As tagSPLITPATH
  6783.    Tmp1 = ""
  6784.    Tmp = "C:\AUTOEXEC.BAT"
  6785.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6786.    n = cSplitPath(Tmp, SPLITPATH)
  6787.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6788.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6789.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6790.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6791.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  6792.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6793.    n = cSplitPath(Tmp, SPLITPATH)
  6794.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6795.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6796.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6797.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6798.    cStartBasisTimer
  6799.    For i = 1 To Item
  6800.       n = cSplitPath(Tmp, SPLITPATH)
  6801.    Next i
  6802.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6803.    Label3.Caption = Tmp1
  6804. End Sub
  6805. Sub TestStringCompress ()
  6806.    Dim title      As String
  6807.    Dim Tmp        As String
  6808.    Dim Tmp1       As String
  6809.    Dim Tmp2       As String
  6810.    Dim Tmp3       As String
  6811.    Dim i          As Integer
  6812.    Dim j          As Long
  6813.    Tmp1 = ""
  6814.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN"
  6815.    Tmp2 = cStringCompress(Tmp)
  6816.    Tmp3 = cStringExpand(Tmp2)
  6817.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  6818.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  6819.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  6820.    cStartBasisTimer
  6821.    For i = 1 To Item
  6822.       Tmp2 = cStringCompress(Tmp)
  6823.    Next i
  6824.    Tmp3 = cStringExpand(Tmp2)
  6825.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6826.    Label3.Caption = Tmp1
  6827. End Sub
  6828. Sub TestStringCRC32 ()
  6829.    Dim title      As String
  6830.    Dim Tmp        As String
  6831.    Dim Tmp1       As String
  6832.    Dim Tmp2       As String
  6833.    Dim i          As Integer
  6834.    Dim j          As Integer
  6835.    Dim k          As Long
  6836.    Tmp = Text1.Text
  6837.    title = "CRC32 for string [" & Tmp & "] is "
  6838.    Tmp1 = title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  6839.    title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  6840.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  6841.    title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  6842.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  6843.    title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  6844.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  6845.    cStartBasisTimer
  6846.    For i = 1 To Item
  6847.       k = cStringCRC32(Tmp)
  6848.    Next i
  6849.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6850.    Label3.Caption = Tmp1
  6851. End Sub
  6852. Sub TestStringSAR ()
  6853.    Dim title      As String
  6854.    Dim Tmp        As String
  6855.    Dim Tmp1       As String
  6856.    Dim Tmp2       As String
  6857.    Dim Tmp3       As String
  6858.    Dim i          As Integer
  6859.    Dim j          As Long
  6860.    Tmp1 = ""
  6861.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN IS A DLL"
  6862.    Tmp2 = cStringSAR(Tmp, "TIME TO WIN", "time2win", False)
  6863.    Tmp1 = Tmp1 & "Replace 'TIME TO WIN' by 'time2win'" & Chr$(13)
  6864.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6865.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6866.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6867.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6868.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  6869.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & Chr$(13)
  6870.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6871.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6872.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6873.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6874.    Tmp2 = cStringSAR(Tmp, "TIME TO WIN, ", "", True)
  6875.    Tmp1 = Tmp1 & "Replace 'TIME TO WIN, ' by ''" & Chr$(13)
  6876.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6877.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6878.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6879.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6880.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  6881.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & Chr$(13)
  6882.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6883.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6884.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6885.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6886.    cStartBasisTimer
  6887.    For i = 1 To Item
  6888.       Tmp2 = cStringSAR(Tmp, "TIME TO WIN", "time2win", False)
  6889.    Next i
  6890.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6891.    Label3.Caption = Tmp1
  6892. End Sub
  6893. Sub TestSubDirectory ()
  6894.    Dim title      As String
  6895.    Dim Tmp        As String
  6896.    Dim Tmp1       As String
  6897.    Dim Tmp2       As String
  6898.    Dim i          As Integer
  6899.    Dim j          As Integer
  6900.    Dim k          As Long
  6901.    title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  6902.    Tmp1 = title
  6903.    Tmp2 = cSubDirectory("*.*", True)
  6904.    For i = 1 To 7
  6905.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  6906.       Tmp2 = cSubDirectory("*.*", False)
  6907.    Next i
  6908.    Tmp1 = Tmp1 & Chr$(13)
  6909.    cStartBasisTimer
  6910.    For i = 1 To Item
  6911.       Tmp = cSubDirectory("*.*", True)
  6912.    Next i
  6913.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6914.    Label3.Caption = Tmp1
  6915. End Sub
  6916. Sub TestSumI ()
  6917.    Dim title      As String
  6918.    Dim Tmp        As String
  6919.    Dim Tmp1       As String
  6920.    Dim Tmp2       As String
  6921.    Dim i          As Integer
  6922.    Dim j          As Integer
  6923.    Dim m          As Double
  6924.    ReDim array(ItemMean) As Integer
  6925.    Randomize Timer
  6926.    m = 0
  6927.    For i = LBound(array) To UBound(array)
  6928.       array(i) = Int(RandI * Rnd(1))
  6929.       m = m + array(i)
  6930.       List1.AddItem "" & array(i)
  6931.    Next i
  6932.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  6933.    cStartBasisTimer
  6934.    For i = 1 To ItemFile
  6935.       m = cSumI(array())
  6936.    Next i
  6937.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6938.    Label3.Caption = Tmp1
  6939. End Sub
  6940. Sub TestSwap ()
  6941.    Dim title      As String
  6942.    Dim Tmp        As String
  6943.    Dim Tmp1       As String
  6944.    Dim Tmp2       As String
  6945.    Dim i          As Integer
  6946.    Dim j          As Long
  6947.    Dim i1         As Integer
  6948.    Dim i2         As Integer
  6949.    Dim s1         As String
  6950.    Dim s2         As String
  6951.    i1 = 3276
  6952.    i2 = 12345
  6953.    s1 = "Hello"
  6954.    s2 = "World"
  6955.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  6956.    Call cSwapI(i1, i2)
  6957.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6958.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  6959.    Call cSwapI(i1, i2)
  6960.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6961.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6962.    Call cSwapStr(s1, s2)
  6963.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6964.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6965.    Call cSwapStr(s1, s2)
  6966.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6967.    cStartBasisTimer
  6968.    For i = 1 To Item
  6969.       Call cSwapI(i1, i2)
  6970.    Next i
  6971.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6972.    Label3.Caption = Tmp1
  6973. End Sub
  6974. Sub TestSysMenuChange (Language As Integer)
  6975.    Call cLngSysMenu(Language, Me.hWnd)
  6976. End Sub
  6977. Sub TestTime ()
  6978.    Dim Tmp1       As String
  6979.    Dim i          As Integer
  6980.    Dim nNow       As Long
  6981.    Dim nHour      As Integer
  6982.    Dim nMinute    As Integer
  6983.    Dim nSecond    As Integer
  6984.    nHour = Hour(Now)
  6985.    nMinute = Minute(Now)
  6986.    nSecond = Second(Now)
  6987.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6988.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  6989.    nHour = 0
  6990.    nMinute = 0
  6991.    nSecond = 0
  6992.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6993.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  6994.    nNow = cTimeToScalar(32767, 59, 59)
  6995.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  6996.    nHour = 0
  6997.    nMinute = 0
  6998.    nSecond = 0
  6999.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  7000.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  7001.    cStartBasisTimer
  7002.    For i = 1 To Item
  7003.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  7004.    Next i
  7005.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7006.    Label3.Caption = Tmp1
  7007. End Sub
  7008. Sub TestTimeBetween ()
  7009.    Dim title      As String
  7010.    Dim Tmp        As String
  7011.    Dim Tmp1       As String
  7012.    Dim Tmp2       As String
  7013.    Dim i          As Integer
  7014.    Dim j          As Integer
  7015.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  7016.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  7017.    cStartBasisTimer
  7018.    For i = 1 To Item
  7019.       j = cTimeBetween(0, 1439)
  7020.    Next i
  7021.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7022.    Label3.Caption = Tmp1
  7023. End Sub
  7024. Sub TestTimer ()
  7025.    Dim Tmp1          As String
  7026.    Dim Tmp           As String
  7027.    Dim Tmp2          As String
  7028.    Dim i             As Integer
  7029.    Dim j             As Integer
  7030.    Dim k             As Long
  7031.    Dim TimerHandle   As Integer
  7032.    Dim StartOk       As Integer
  7033.    Dim CloseOk       As Integer
  7034.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  7035.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  7036.    cStartBasisTimer
  7037.    For i = 1 To 32766
  7038.    Next i
  7039.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7040.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  7041.    j = 0
  7042.    cStartBasisTimer
  7043.    For i = 1 To 32766
  7044.       j = j + 1
  7045.    Next i
  7046.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7047.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  7048.    k = 0
  7049.    cStartBasisTimer
  7050.    For i = 1 To 32766
  7051.       k = i * 2&
  7052.    Next i
  7053.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7054.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  7055.    cStartBasisTimer
  7056.    For i = 1 To 1000
  7057.       Tmp2 = Tmp2 + "a"
  7058.    Next i
  7059.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7060.    Call cStartBasisTimer
  7061.    StartOk = cSleep(1000)
  7062.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7063.    TimerHandle = cTimerOpen()
  7064.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  7065.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  7066.    StartOk = cTimerStart(TimerHandle)
  7067.    For i = 1 To 32766
  7068.    Next i
  7069.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  7070.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  7071.    j = 0
  7072.    StartOk = cTimerStart(TimerHandle)
  7073.    For i = 1 To 32766
  7074.       j = j + 1
  7075.    Next i
  7076.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  7077.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  7078.    k = 0
  7079.    StartOk = cTimerStart(TimerHandle)
  7080.    For i = 1 To 32766
  7081.       k = i * 2&
  7082.    Next i
  7083.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  7084.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  7085.    StartOk = cTimerStart(TimerHandle)
  7086.    For i = 1 To 1000
  7087.       Tmp2 = Tmp2 + "a"
  7088.    Next i
  7089.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  7090.    StartOk = cTimerStart(TimerHandle)
  7091.    StartOk = cSleep(1000)
  7092.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  7093.    Label3.Caption = Tmp1
  7094.    CloseOk = cTimerClose(TimerHandle)
  7095. End Sub
  7096. Sub TestToggleAllBits ()
  7097.    Dim title      As String
  7098.    Dim Tmp        As String
  7099.    Dim Tmp1       As String
  7100.    Dim Tmp2       As String
  7101.    Dim i          As Integer
  7102.    Dim j          As Integer
  7103.    Tmp = Text1.Text
  7104.    title = "Toggle all bits of [" & Tmp & "] is "
  7105.    Call cToggleAllBits(Tmp)
  7106.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7107.    title = "Toggle all bits of [" & Tmp & "] is "
  7108.    Call cToggleAllBits(Tmp)
  7109.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7110.    cStartBasisTimer
  7111.    For i = 1 To Item
  7112.       Call cToggleAllBits(Tmp)
  7113.    Next i
  7114.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7115.    Label3.Caption = Tmp1
  7116. End Sub
  7117. Sub TestToggleBit ()
  7118.    Dim title      As String
  7119.    Dim Tmp        As String
  7120.    Dim Tmp1       As String
  7121.    Dim Tmp2       As String
  7122.    Dim i          As Integer
  7123.    Dim j          As Integer
  7124.    Tmp = Text1.Text
  7125.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  7126.    Call cToggleBit(Tmp, 7)
  7127.    Call cToggleBit(Tmp, 22)
  7128.    Call cToggleBit(Tmp, 15)
  7129.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7130.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  7131.    Call cToggleBit(Tmp, 7)
  7132.    Call cToggleBit(Tmp, 22)
  7133.    Call cToggleBit(Tmp, 15)
  7134.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7135.    cStartBasisTimer
  7136.    For i = 1 To Item
  7137.       Call cToggleBit(Tmp, i)
  7138.    Next i
  7139.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7140.    Label3.Caption = Tmp1
  7141. End Sub
  7142. Sub TestToHexa ()
  7143.    Dim intResult        As Integer
  7144.    Dim strResult        As String
  7145.    Dim strDisplay       As String
  7146.    Dim i                As Integer
  7147.    Dim Str1             As String
  7148.    Dim Str2             As String
  7149.    intResult = 0
  7150.    strResult = ""
  7151.    strDisplay = ""
  7152.    Str1 = Text1.Text
  7153.    Str2 = cToHexa(Str1)
  7154.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7155.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7156.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7157.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  7158.    Str1 = "ABCDEFGH"
  7159.    Str2 = cToHexa(Str1)
  7160.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7161.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7162.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7163.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  7164.    Str1 = "01234567890"
  7165.    Str2 = cToHexa(Str1)
  7166.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7167.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7168.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7169.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  7170.    'time the function
  7171.    Str1 = Text1.Text
  7172.    cStartBasisTimer
  7173.    For i = 1 To Item
  7174.       strResult = cToHexa(Str1)
  7175.    Next i
  7176.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7177.    Label3.Caption = strDisplay
  7178. End Sub
  7179. Sub TestToken ()
  7180.    Dim title      As String
  7181.    Dim Tmp        As String
  7182.    Dim Tmp1       As String
  7183.    Dim Tmp2       As String
  7184.    Dim i          As Integer
  7185.    Dim j          As Integer
  7186.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  7187.    title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  7188.    Tmp1 = title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  7189.    cStartBasisTimer
  7190.    For i = 1 To Item
  7191.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  7192.    Next i
  7193.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7194.    Label3.Caption = Tmp1
  7195. End Sub
  7196. Sub TestToZ9 ()
  7197.    Dim intResult        As Integer
  7198.    Dim strResult        As String
  7199.    Dim strDisplay       As String
  7200.    Dim i                As Integer
  7201.    Dim Str1             As String
  7202.    Dim Str2             As String
  7203.    intResult = 0
  7204.    strResult = ""
  7205.    strDisplay = ""
  7206.    Str1 = Text1.Text
  7207.    Str2 = cToZ9(Str1)
  7208.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7209.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7210.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7211.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7212.    Str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  7213.    Str2 = cToZ9(Str1)
  7214.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7215.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7216.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7217.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7218.    Str1 = "01234567890"
  7219.    Str2 = cToZ9(Str1)
  7220.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7221.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7222.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7223.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7224.    'time the function
  7225.    Str1 = Text1.Text
  7226.    cStartBasisTimer
  7227.    For i = 1 To Item
  7228.       strResult = cToZ9(Str1)
  7229.    Next i
  7230.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7231.    Label3.Caption = strDisplay
  7232. End Sub
  7233. Sub TestTrueBetween ()
  7234.    Dim title      As String
  7235.    Dim Tmp        As String
  7236.    Dim Tmp1       As String
  7237.    Dim Tmp2       As String
  7238.    Dim i          As Integer
  7239.    Dim j          As Integer
  7240.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  7241.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  7242.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  7243.    cStartBasisTimer
  7244.    For i = 1 To Item
  7245.       j = cTrueBetween(720, 0, 1439)
  7246.    Next i
  7247.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7248.    Label3.Caption = Tmp1
  7249. End Sub
  7250. Sub TestTruncatePath ()
  7251.    Dim title      As String
  7252.    Dim Tmp        As String
  7253.    Dim Tmp1       As String
  7254.    Dim Tmp2       As String
  7255.    Dim Tmp3       As String
  7256.    Dim i          As Integer
  7257.    Dim j          As Long
  7258.    Tmp1 = ""
  7259.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & Chr$(13) & Chr$(13)
  7260.    Tmp = "time2win.bas"
  7261.    Tmp2 = cTruncatePath(Tmp, 25)
  7262.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7263.    Tmp = "windows\system\time2win.bas"
  7264.    Tmp2 = cTruncatePath(Tmp, 25)
  7265.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7266.    Tmp = "c:\windows\system\time2win.bas"
  7267.    Tmp2 = cTruncatePath(Tmp, 25)
  7268.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7269.    Tmp = "c:\windows\system\visual\time2win\time2win.bas"
  7270.    Tmp2 = cTruncatePath(Tmp, 25)
  7271.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7272.    Tmp = "c:\windows\system\visual\source\time2win\time2win.bas"
  7273.    Tmp2 = cTruncatePath(Tmp, 25)
  7274.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  7275.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & Chr$(13) & Chr$(13)
  7276.    Tmp = "time2win.bas"
  7277.    Tmp2 = cTruncatePath(Tmp, 35)
  7278.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7279.    Tmp = "windows\system\time2win.bas"
  7280.    Tmp2 = cTruncatePath(Tmp, 35)
  7281.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7282.    Tmp = "c:\windows\system\time2win.bas"
  7283.    Tmp2 = cTruncatePath(Tmp, 35)
  7284.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7285.    Tmp = "c:\windows\system\visual\time2win\time2win.bas"
  7286.    Tmp2 = cTruncatePath(Tmp, 35)
  7287.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7288.    Tmp = "c:\windows\system\visual\source\time2win\time2win.bas"
  7289.    Tmp2 = cTruncatePath(Tmp, 35)
  7290.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  7291.    cStartBasisTimer
  7292.    For i = 1 To Item
  7293.       Tmp2 = cTruncatePath(Tmp, 25)
  7294.    Next i
  7295.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7296.    Label3.Caption = Tmp1
  7297. End Sub
  7298. Sub TestUncompact ()
  7299.    Dim title      As String
  7300.    Dim Tmp        As String
  7301.    Dim Tmp1       As String
  7302.    Dim Tmp2       As String
  7303.    Dim i          As Integer
  7304.    Dim j          As Integer
  7305.    Tmp = "987654321"
  7306.    title = "Uncompact '" & Tmp & "' is "
  7307.    Tmp1 = title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  7308.    cStartBasisTimer
  7309.    For i = 1 To Item
  7310.       Tmp2 = cUncompact(Tmp)
  7311.    Next i
  7312.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7313.    Label3.Caption = Tmp1
  7314. End Sub
  7315. Sub TestUniqueFileName ()
  7316.    Dim title      As String
  7317.    Dim Tmp        As String
  7318.    Dim Tmp1       As String
  7319.    Dim Tmp2       As String
  7320.    Dim i          As Integer
  7321.    Dim j          As Integer
  7322.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  7323.    cStartBasisTimer
  7324.    For i = 1 To Item
  7325.       Tmp2 = cUniqueFileName("WN")
  7326.    Next i
  7327.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7328.    Label3.Caption = Tmp1
  7329. End Sub
  7330. Sub TestVersion ()
  7331.    Dim Tmp        As String
  7332.    Dim Version    As Single
  7333.    Version = cGetVersion()
  7334.    Tmp = Tmp + "Version is " & Version
  7335.    Label3.Caption = Tmp
  7336. End Sub
  7337. Sub TestWalkThruWindow ()
  7338.    Dim nClass        As String
  7339.    Dim nCaption      As String
  7340.    Dim nOwnerClass   As String
  7341.    Dim nOwnerCaption As String
  7342.    Dim nOwnerHwnd    As Integer
  7343.    Dim nhWnd         As Integer
  7344.    Dim i             As Integer
  7345.    Frame1.Visible = True
  7346.    List1.Clear
  7347.    List2.Clear
  7348.    List1.FontBold = False
  7349.    List2.FontBold = False
  7350.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  7351.    Do While (nhWnd <> 0)
  7352.       i = i + 1
  7353.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  7354.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  7355.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  7356.    Loop
  7357. End Sub
  7358. Sub TestWindowsIni ()
  7359.    Dim Tmp        As String
  7360.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  7361.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  7362.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  7363.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  7364.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  7365.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  7366.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  7367.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  7368.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  7369.    Label3.Caption = Tmp
  7370. End Sub
  7371. Sub TestWinINI1 ()
  7372.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  7373. End Sub
  7374. Sub TestWinINI2 ()
  7375.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  7376. End Sub
  7377. Sub TestWinINI3 ()
  7378.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  7379. End Sub
  7380.